2011-10-19 1 views
2

アプリにインテントフィルターを登録したいので、他のアプリケーションの連絡先を共有することができます。連絡先を送信するときにのみSENDアクションのインテントフィルタを設定するにはどうすればよいですか?

私はすでに私のマニフェストにこれを追加することでこれを実現することができます

<intent-filter> 
    <action android:name="android.intent.action.SEND" /> 
    <category android:name="android.intent.category.DEFAULT" /> 
    <data android:mimeType="text/*" /> 
</intent-filter> 

問題は、私のアプリケーションは、すべての「共有」に表示されるか、テキストデータを共有する他のアプリケーションからのポップアップ「を送信する」ということです。どうすれば私のアプリが連絡先共有ポップアップにのみ表示されるように制限できますか?

すでにandroid:host="com.android.contacts"<data>に使用しようとしましたが、役に立たなかった。

ありがとうございます!

答えて

3

android:hostを設定する場合は、android:schemeも設定する必要があります。それ以外の場合は無視されます。 android:scheme="content"に設定してみてください。これはすべて、 "com.android.contacts"という権限を含むデータURIなしでインテントを受け入れることを妨げることになります。

あなたが指定したMIMEタイプは、テキストベースのコンテンツを受け入れることになります。それはあなたが意図したものですか? Googleが指定したcontact item mime-typeを使用している必要があります。

+1

ああ、今すぐ手に入れました! 'android:mimeType =" text/x-vcard "を使用するだけで問題は解決しました!どうもありがとう! :) –

+0

@RicardoOtero私は同じものを探していた。それは私の時間を保存した。 –

関連する問題