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

はこれが行う。ここ

は、迅速な接触がショートカットから起動されたときに発生する意思のあるログですショートカットはちょうど良いとログは[エキストラ]を除いてほぼ同じです。私は、私が送る必要のあるエキストラが何であるかを理解していない。

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);

関連する問題