NFC を介して特定のドメインの URI オープンを処理しようとしています。
マニフェストには次のものがあります。
<activity android:name="HistoryActivity"
android:theme="@android:style/Theme.Light.NoTitleBar"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="https"
android:host="mydomain.me"
android:pathPrefix="/x" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http"
android:host="mydomain.me"
android:pathPrefix="/x" />
</intent-filter>
</activity>
onResume と onNewIntent は次のようになります。
@Override
protected void onResume() {
super.onResume();
Intent intent = new Intent(this, this.getClass());
//intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
this.handleNfcBeam(intent);
}
@Override
protected void onNewIntent(Intent intent)
{
setIntent(intent);
this.handleNfcBeam(intent);
}
handleNfcBeam は次のようになります。
protected boolean handleNfcBeam(Intent intent)
{
String action = intent.getAction();
if (action != null &&
action.equalsIgnoreCase("android.nfc.action.NDEF_DISCOVERED"))
{
return true; // todo: process URL
}
return false;
}
正しい URL を送信すると、アプリが起動されます。ただし、アクションは常に null です!!
メッセージを実際に処理できるようになるまでには至っていません...
私は何を間違っていますか?
ありがとう、ダニエル