2011-02-01 72 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);

相關問題