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有効/無効を切り替える(成功編)」
というエントリを書いていただける方を募集しています ^^;
あわせて読みたい
- ブリリアントサービス 省電力ガイド: NFC設定ON/OFFの違いを確認する ・・・ NFCの消費電力(必読)
- GPSの設定をステータスバーでトグルできる俺得アプリを作ってみた ・・・ WRITE_SECURE_SETTINGS について
- Permission Quiz ・・・ おすすめアプリ
- https://github.com/OESF/Embedded-Master-ARM/blob/master/frameworks/base/core/res/AndroidManifest.xml
・・・ パーミッション一覧
最後に、Twitter 上で色々教えてくださった皆様(特にブリリアントな方々)、ありがとうございました m_ _m
