2011-01-03 16 views
3

私は数日にわたりグーグルで多くのことを行いましたが、この問題を解決できませんでした。私はを呼び出すことによって、ユーザがImageViewまたは他のビュー要素をクリックしたときにクイック連絡先ダイアログを表示するアプリケーションとウィジェットを作成しています。android:showquickcontact()はfroyo上でうまく動作しますが、eclairではActivityNotFound例外がスローされません

01-02:17:51:28.869:何らかの理由で、私はエクレアにしようとするたびに、私は次のようなエラースローを得るERROR/AndroidRuntime(657): java.lang.RuntimeException:できません起動します活性 ComponentInfo {com.sx.favwidget/com.sx.favwidget.PopupActivity} android.content.ActivityNotFoundException:全く活性が テント{行為= com.android.contacts.action.QUICK_CONTACT DAT =コンテンツを処理するために見つかりませんでした。 //com.android.contacts/contacts/lookup/0n4D29415739 flg = 0x14200000(追加内容あり)

(私はlogcatの残りの部分を残しましたが、あなたがそれを必要とするならば戻すことができます)

私はFroyoで全く同じコードを試してみてください。私は、Froyoユーザーのみをターゲットにしたアプリケーションを望んでいません。2.1を最小OSレベルとしています。 QuickContactsを表示するのに苦労しているStack Overflow上の他の人々が見つかりました。

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

     } 
} 

それはフローズンヨーグルト、ないエクレアで動作することだけでとても奇妙だが、APIの呼び出しは、Android 2.0以降がありました。誰も私をここで助けることができますか?

ありがとうございます!

+0

同じエラーが表示される: – Premier

答えて

1

私はこれもしばらく前に解決しましたが、投稿するのを忘れました。私がしたことは、透明な新しい活動を開始し、その意図が始まる矩形を得ました。このアクティビティにはQuickContactBadge要素しかないため、長方形を使用して配置し、自動的にクリックアクションを実行しました。これが表示されたら、私は活動を終えましたが、バッジは残ります。したがって、QuickContactBadgeをクリックした人は、どこから始めたのでしょうか。

あなたの(Omegamon)コードを熟読する機会はありませんでした。あなたの方法は私のものと似ていますか?

+0

これは、AndroidがQuickContactsを表示するのと同じ方法であることにも注意する価値がある。すべてのコードを書いた後、私はソースコードをもう一度見て、驚いた私はフレームワークのサポートが構築されるまで、これが実際に現在の回避策であったと言っています)。 – Sam

+0

QuickContactsのソースコードはどこですか? – Mirko

関連する問題