1

他のアプリケーションで SHARE BUTTON からの Intent からデータを抽出しようとしています。それが単なるテキストであるか、より複雑なデータであるかは問題ではありません。たとえば、Android 連絡先アプリが使用するキーを知らなくても、連絡先アプリから自分のアプリに共有されたデータを抽出したいと考えています。

インテントを反復するループまたは方法はありますか?forループを使用して通過しようとしましたintent.getExtras(n)が、null 値が返されます。

4

3 に答える 3

0

これを試して:

getIntent().getExtras().get("android.intent.extra.STREAM")
getIntent().getClipData() 

私のデバイスでは、このオブジェクトは次のとおりです。

getIntent().getExtras().get("android.intent.extra.STREAM") = {android.net.Uri$HierarchicalUri@830027572808}"content://com.android.contacts/contacts/as_vcard/2574i5f5fc0900f5c945c"

getIntent().getClipData() = {android.content.ClipData@830027557696}"ClipData { text/x-vcard {U:content://com.android.contacts/contacts/as_vcard/2574i5f5fc0900f5c945c} }"

これは、似たようなものを取得した場合の URI であるため、これが連絡先です。この uri からデータを抽出する方法は別の問題です。

于 2012-10-26T10:18:16.673 に答える
0
Bundle extras = intent.getExtras();
if (extras != null){
   Log.d("EXTRAS", extras.toString());
}

I've updated the example so it would be easier to understand

于 2012-10-25T12:06:32.047 に答える
-1

デバッガーを有効にし、命令にブレークポイントを設定して、指定された時間にインテントエクストラに何が含まれるかを確認できます。

または、あなたが言っていることを実行し、NullPointerExceptionが発生するまでループします。

于 2012-10-25T11:32:51.583 に答える