gpt4 book ai didi

android - 如何从小部件显示 QuickContact 卡

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:07:21 26 4
gpt4 key购买 nike

我有一个显示我的一些联系人图片的小部件,我想在用户点击其中一张图片时显示 QuickContact 卡片。我知道我应该使用 ContactsContract.QuickContact.showQuickContact() 方法,但它需要一个 View 或一个 Rect 作为输入参数之一。我的问题是 Widgets 只有 RemoteViews,所以我不确定传递什么作为 View 或 Rect 参数。任何想法将不胜感激。

最佳答案

要在小部件上显示 QuickContact UI,您可以使用此处说明的技术进行回调 PendingIntent:

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

在您的小部件 onUpdate() 中,创建 Intent 并将其与 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);

单击 View 时,您将在小部件中收到 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);
}

关于android - 如何从小部件显示 QuickContact 卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3435239/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com