2

この質問はほとんど重複していますが、リンクされた問題は実際には解決されておらず、スレッドは数か月前のものであるため、復活させたくありません。

Android ビームがオンになっている ICS デバイスで実行されているアプリのデフォルトの動作は、受信側で Google Play によって処理されるアプリケーション Uri を使用してメッセージをプッシュすることです。

条件 A が true の場合に NdefMessage をプッシュし、それ以外の場合はメッセージのプッシュを無効にするアクティビティを開発しようとしています。のAPIドキュメントsetNdefPushMessage(...)は、nullメッセージを渡すことでこれが可能であることを示しているようです:

null NDEF メッセージを渡して、指定されたアクティビティでフォアグラウンド NDEF プッシュを無効にします。

ただし、次のコードを使用してすべてのプッシュを単純に禁止しようとすると、「Touch to Beam」UI が表示され、アプリケーション Uri が送信されます...

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    getNfcAdapter().setNdefPushMessage(null, this);
}

アクティビティからのプッシュを実際に無効にすることが可能かどうかは誰にもわかりませんか? いくつかのシステム アプリで実行できますが、これを実現するコードを見つけることができませんでした。どんな助けでも大歓迎です。

4

1 に答える 1

4

これはAndroidICSのバグのようです。ドキュメントには、NDEFメッセージをnullに設定することで無効にできるはずであると記載されていますが、これは単に機能しません。幸いなことに、これは修正され、Android4.1Jellybeanで機能するようになりました。

于 2012-07-09T09:38:49.257 に答える