繁体   English   中英

android:showquickcontact()在froyo上工作得很好,而不是eclair,它会抛出一个ActivityNotFound异常

[英]android: showquickcontact() works great on froyo, not on eclair, which throws an ActivityNotFound exception

这几天我做了很多谷歌搜索,我无法解决这个问题。 我正在编写一个应用程序和一个小部件,当用户通过调用QuickContact.showQuickContact()单击ImageView或其他视图元素时,我希望显示快速联系对话框。 出于某种原因,每次我尝试Eclair时,都会抛出以下错误:

01-02 17:51:28.869:ERROR / AndroidRuntime(657):java.lang.RuntimeException:无法启动活动ComponentInfo {com.sx.favwidget / com.sx.favwidget.PopupActivity}:android.content.ActivityNotFoundException:No发现处理Intent的活动{act = com.android.contacts.action.QUICK_CONTACT dat = content://com.android.contacts/contacts/lookup/0n4D29415739 flg = 0x14200000(有额外内容)

(我遗漏了logcat的其余部分,但如果你们需要它我可以把它放回去)

当我在Froyo上尝试完全相同的代码时,它就可以了。 我不希望我的应用仅针对Froyo用户 - 我将2.1作为最低操作系统级别。 我发现Stack Overflow上的其他一些人正在努力让QuickContacts显示出来。

我可以使用QuickContactBadge,这确实适用于Eclair,但我不允许在AppWidget中使用QuickContactBadge,所以我做了这个。 我挖掘了Android的源代码并找到了用于创建布局的相关XML文件和代码,但我不能轻易自己编译它,因为它是所有私有API调用的一个巨大问题。

这是我的代码。 这很简单。

grid.setOnItemClickListener(new OnItemClickListener() {

    public void onItemClick(AdapterView<?> parent, View v, int position, long id) {

        String name = ((TextView)v.findViewById(R.id.grid_item_label)).getText().toString();

        Cursor sc = getContentResolver().query(Contacts.CONTENT_URI, new String[] {Contacts.LOOKUP_KEY,   Contacts._ID}, Contacts.DISPLAY_NAME + "= ?", new String[] {name}, null);

        sc.moveToFirst();          

        String lookup_key = sc.getString(sc.getColumnIndex(Contacts.LOOKUP_KEY));

        Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookup_key);

        QuickContact.showQuickContact(getApplicationContext(), v, uri, QuickContact.MODE_SMALL, null);

        }
}

这很奇怪,它适用于Froyo,而不是Eclair,但API调用自Android 2.0以来一直存在。 有人能帮我一下吗??

非常感谢!!!

我前段时间也解决了这个问题,但忘记了如何发布。 我所做的是发布一个透明的新活动,我得到了启动意图的矩形。 此活动只有一个QuickContactBadge元素,因此我使用矩形定位它并在其上自动执行单击操作。 一旦显示,我完成了活动 - 但徽章仍然存在。 因此,当用户点击QuickContactBadge时,他们会回到他们开始的地方。

我没有机会彻底仔细阅读你的(Omegamon)代码 - 你的方法与我的相似吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM