1

NFCEE_ADMIN 権限は署名レベルです。ただし、ルート化された電話でこの許可を取得するために「チート」することは可能ですか? おそらく、ClockSyncと同様の手法を使用しているのではないでしょうか?

NFCExtras にアクセスするためにリフレクション手法を使用しようとしています:

mAdapter = NfcAdapter.getDefaultAdapter(this);

try {
    Class mynfcextras = Class.forName("android.nfc.INfcAdapterExtras");
    Method getnfcExtras = mAdapter.getClass().getMethod("getNfcAdapterExtrasInterface");
    Object nfcExtras = getnfcExtras.invoke(mAdapter);
} catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

ただし、もちろん次のエラーが表示されます。

編集:もちろん、パッケージに許可を追加しましたが、インストール中に削除されます:

W/PackageManager(  XXX): Not granting permission com.android.nfc.permission.NFCEE_ADMIN to package XXX (protectionLevel=2 flags=0x8be46)
4

1 に答える 1

1

アプリの署名は にある必要があります/system/etc/nfcee_access.xml作成方法の例については、たとえばhttp://code.google.com/p/seek-for-android/wiki/BuildingTheSystemを参照してください。

于 2012-03-03T19:42:07.380 に答える