2011-02-01 119 views
2

在像Nexus或HTC手机这样的手机上,您可以在主屏幕上添加一个快速联系快捷方式。当你按下人物图像时,你会看到有弹性的小弹出窗口,里面有不同的图标。我正试图复制这种行为。从主屏幕快捷方式开始快速联系?

下面是当快速联系人从一个快捷方式推出了被解雇的意图的一些记录:

02-01 06:55:58.460: INFO/ActivityManager(1259): Starting activity: Intent { act=com.android.contacts.action.QUICK_CONTACT dat=content://com.android.contacts/contacts/lookup/2795i4464ea058cf583f3/177 flg=0x14200000 cmp=com.motorola.blur.contacts/com.android.contacts.ui.QuickContactActivity bnds=[18,253][108,340] (has extras) } 

我试图复制这个没有成功:

final Intent shortcutIntent = new Intent("com.android.contacts.action.QUICK_CONTACT"); 
shortcutIntent.addFlags(0x14200000); 
Uri uri = Uri.parse("content://com.android.contacts/contacts/lookup/2795i694f803d0e56adba/182"); 
shortcutIntent.setData(uri); 

final Intent intent = new Intent(); 
intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent); 
intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, contact.name); 
intent.putExtra(Intent.EXTRA_SHORTCUT_ICON, contact.icon); 

这使得快捷方式很好,除了[extras]外,日志几乎完全相同。我还没有弄清楚我需要发送什么额外信息。

02-01 07:01:53.147: INFO/ActivityManager(1259): Starting activity: Intent { act=com.android.contacts.action.QUICK_CONTACT dat=content://com.android.contacts/contacts/lookup/2795i694f803d0e56adba/182 flg=0x14200000 cmp=com.motorola.blur.contacts/com.android.contacts.ui.QuickContactActivity bnds=[245,252][355,382] } 

02-01 07:01:53.280: ERROR/AndroidRuntime(12317): java.lang.NullPointerException 
02-01 07:01:53.280: ERROR/AndroidRuntime(12317):  at com.android.contacts.ui.QuickContactActivity.onNewIntent(QuickContactActivity.java:77) 

有谁知道正确的方法来调用从一个快捷方式快速联系人或者我需要发送是演员?

回答

1

使用intent.putExtra(ContactsContract.QuickContact.EXTRA_MODE, QuickContact.MODE_SMALL);

相关问题