2016-09-06 9 views
-2

NFCタグを読み取るアプリを開発しています。タグがプレーンテキストの場合、TextViewに表示されます。それがvCardの場合は、フォアグラウンドにアプリがない場合と同じ方法で対処できるインテントを連絡先に渡したいと思います。受信したインテントを別のアプリ/アクティビティに渡すにはどうすればよいですか?

私は

Intent intent = new Intent(ContactsContract.Intents.Insert.ACTION); 
intent.setType(ContactsContract.RawContacts.CONTENT_TYPE); 
startActivity(intent); 

を使用してユーザーを挿入できることを知っているが、これはのみ実際にデータを渡すことなく、連絡先アプリを開きます。私のアプリが受け取ったインテントを使って、NullPointerException(startActivity(recievedIntent))をスローします。これは、あるメソッドから別のメソッドにインテントを渡しても、別のメソッドで受け取りと渡しを処理するためです。

ありがとうございました!

答えて

0

他のアクティビティにデータを転送することができます。 onNewIntent(意図のインテント)メソッド:

Parcelable[] rawMsgs = intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES); 
     Intent myintent = new Intent(this, yourIntentActivity.class); 
     myintent.setAction(NfcAdapter.ACTION_NDEF_DISCOVERED); 
     myintent.putExtra(NfcAdapter.EXTRA_NDEF_MESSAGES, rawMsgs); 
     myintent.putExtra(NfcAdapter.EXTRA_TAG, intent.getParcelableExtra(NfcAdapter.EXTRA_TAG)); 
     startActivity(myintent); 
関連する問題