Чтобы отобразить интерфейс QuickContact поверх виджета, вы можете сделать обратный вызов PendingIntent, используя метод, показанный здесь:
http://advback.com/android/working-with-app-widgets-android/
В вашем виджете onUpdate () создайте намерение и свяжите его с 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);
При щелчке по представлению вы получите уведомление onReceive () в своем виджете. Используйте Intent.getSourceBounds (), чтобы получить прямоугольник, и покажите 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);
}