Разрешение 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();
}
Но, конечно, появляется следующая ошибка: «Требуется разрешение NFCEE_ADMIN: ни у пользователя xxx, ни у текущего процесса нет com.android.nfc.permission.NFCEE_ADMIN.»
Редактировать: Конечно, я добавил разрешение к пакету, но оно удаляется во время установки:
W/PackageManager( XXX): Not granting permission com.android.nfc.permission.NFCEE_ADMIN to package XXX (protectionLevel=2 flags=0x8be46)