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)
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 回答