Как получить разрешение NFCEE_ADMIN на рутированном телефоне?

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();
}

Но, конечно, получите следующую ошибку: "Требуется разрешение 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)
Теги:
nfc
rfid
rooted-device

1 ответ

1
Лучший ответ

Подпись вашего приложения должна быть в /system/etc/nfcee_access.xml. См. Например, http://code.google.com/p/seek-for-android/wiki/BuildingTheSystem для примера, как его создать.

  • 0
    Это единственное решение для создания моего собственного имиджа? Я пытался избежать этого: / Я не совсем понимаю это предложение: «Этот файл утверждает, что включает в себя подписи приложений, которые могут получить разрешение NFCEE_ADMIN. Однако, похоже, что это цепочка сертификатов подписавшего вместо подписи приложения».
  • 0
    ХОРОШО. Удалось получить подпись приложения в файл nfcee_access.xml. Но это все еще не работает: /
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню