[Android] NFC有効/無効を切り替える(失敗編)

| トラックバック(0) |

AndroidBeam.png

Galaxy Nexus に搭載されている NFC(Near Field Communication)ですが、

NFC の有効/無効を切り替えるには、以下のように最低でも 3 ステップ操作する必要があり、

必要な時だけ設定を切り替えるのは、少々面倒です。。。

 

Galaxy Nexus の設定アプリケーションで NFC の有効/無効を切り替えるステップ

 1. 標準の「設定」アプリケーションを起動する

 2. (「無線とネットワーク」の)「その他...」をタップする

 3. 「NFC」をタップして有効/無効を切り替える

 ※Nexus S もメニュー構成は異なりますが、やはり 3 ステップ

 

そこで、NFC を有効/無効を切り替えるトグル系のウィジェットを作成しようと思い、

調べてみたのですが、パーミッションの関係で上手くいきませんでした。。。

 

試してみたソースコード

NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter();
// NfcAdapter#enable() が非公開メソッド(hide)のためリフレクションで呼び出し
try {
    Class<?> clazz = Class.forName("android.nfc.NfcAdapter");
    Method method = clazz.getMethod("enable");
    method.invoke(nfcAdapter, new Object[0]);
} catch (ClassNotFoundException e) {
} catch (NoSuchMethodException e) {
} catch (IllegalArgumentException e) {
} catch (IllegalAccessException e) {
} catch (InvocationTargetException e) {
    e.printStackTrace();
    // 失敗
    // -> WRITE_SECURE_SETTINGS permission required...
}
// AndroidManifest.xml には
// android.permission.NFC と android.permission.WRITE_SECURE_SETTINGS を書いています
 

 

デバッガ キャプチャ

nfc.png

 

そこで・・・、

どなたか、

 「NFC有効/無効を切り替える(成功編)」

というエントリを書いていただける方を募集しています ^^;

 

あわせて読みたい

 

最後に、Twitter 上で色々教えてくださった皆様(特にブリリアントな方々)、ありがとうございました m_ _m

トラックバック(0)

トラックバックURL: http://mt.adakoda.com/mt-tb.cgi/553

2016年8月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31