Cómo mostrar la tarjeta QuickContact desde el widget

Tengo un widget que muestra la imagen de algunos de mis contactos y me gustaría mostrar la tarjeta QuickContact cuando el usuario toque en una de las imágenes. Sé que debo usar el método ContactsContract.QuickContact.showQuickContact (), pero requiere una vista o un Rect como uno de los parámetros de entrada. Mi problema es que los widgets sólo tienen RemoteViews, así que no estoy seguro de qué pasar como el parámetro View o Rect. Cualquier idea sería apreciada.

Puede hacer referencia a la insignia en el XML

Tengo esto en el archivo XML:

<QuickContactBadge android:id="@+id/photo" android:layout_width="54dip" android:layout_height="57dip" android:layout_marginLeft="5dip" android:background="@drawable/quickcontact_photo_frame" style="?android:attr/quickContactBadgeStyleWindowSmall" /> 

Y este código:

 private QuickContactBadge mPhotoView; mPhotoView = (QuickContactBadge) findViewById(R.id.photo); mPhotoView.assignContactUri(objItem.getUri()); mPhotoView.setMode(QuickContact.MODE_MEDIUM); 

Y este es el modo de llamada (pero el clic en la insignia es el manejo de este popup, esta llamada también popup el selector se hace haciendo clic en otra cosa)

 QuickContact.showQuickContact(viewContactQuick.this, mPhotoView,objItem.getLookupUri() , QuickContact.MODE_MEDIUM, null); 

Para mostrar la interfaz de usuario de QuickContact a través de un widget, puede realizar una devolución de llamada PendingIntent utilizando la técnica ilustrada aquí:

http://advback.com/android/working-with-app-widgets-android/

En su widget onUpdate (), cree la intención y asocie con RemoteView:

 intent = new Intent(context, MyWidget.class); intent.setAction(ACTION_WIDGET_RECEIVER); Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookupKey); intent.setData(uri); pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0); views.setOnClickPendingIntent(R.id.my_widget_view, pendingIntent); 

Cuando se hace clic en la vista, recibirá una notificación onReceive () en su widget. Use Intent.getSourceBounds () para recuperar el rect y muestre el QuickContact:

 public void onReceive(Context context, Intent intent) { if (intent.getAction().equals(ACTION_WIDGET_RECEIVER)) { Uri uri = intent.getData(); if ( uri != null ) { QuickContact.showQuickContact(context, intent.getSourceBounds(), uri, ContactsContract.QuickContact.MODE_SMALL, null); } } super.onReceive(context, intent); } 

He estado buscando esto también. Tal vez la fuente de la aplicación Contactos sea útil. Estoy intentando digg in: link text

He estado luchando con esto desde hace algún tiempo también. Mirando el código fuente de Android, parece que Google hizo una actividad transparente llamada QuickContactActivity y colocó el QuickContactWindow (la clase que crea el popup) dentro de eso. He intentado lo mismo y la actividad transparente funciona, pero tengo problemas para conseguir que la insignia aparezca. Conozco el código de QuickActions de Qberticus y lo probé, pero prefiero simplemente usar los contactos rápidos que escribió google porque duplicar su funcionalidad y su aspecto es bastante desafiante.

También he estado recibiendo ActivityNotFoundException cuando intento utilizar el método de QuickContact.showQuickContact () en Eclair – trabaja grande sobre Froyo sin embargo.

Aquí está mi pregunta. Sería realmente impresionante si pudiéramos trabajar juntos para resolver este problema: link

  • Cómo crear un contacto programáticamente
  • Reclamo de correo electrónico de Android
  • Uso de LibPhoneNumber google lib en Android
  • Aplicación de copia de seguridad y sincronización de contactos
  • Permiso de negación: apertura del proveedor com.android.providers.contacts.ContactsProvider2 de ProcessRecord en Android Studio
  • Cómo agregar tono de llamada a los contactos de la aplicación nativa mediante programación en android
  • Cómo seleccionar contactos exclusivos de android
  • Consultar contactos - SOMETIMES devuelve el cursor vacío
  • Obtener la lista de contactos pertenecientes a un grupo específico
  • Obtener número del selector de contactos
  • ¿Cómo funcionan las columnas unidas implícitas con los datos de los contactos de Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.