NFCEE_ADMIN权限为签名级别。然而,有没有可能通过“作弊”来获得根基手机上的权限呢?也许使用类似于the way ClockSync does it的技术?
我正在尝试使用反射技术来访问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)发布于 2012-03-04 03:42:07
您的应用程序的签名需要使用/system/etc/nfcee_access.xml。有关如何创建它的示例,请参见例如http://code.google.com/p/seek-for-android/wiki/BuildingTheSystem。
https://stackoverflow.com/questions/9545734
复制相似问题