consider simple tool using broadcastreceiver
achieve simple goal. because should not used other applications, defines permission protectionlevel of signature
or signatureorsystem
:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="any.test"> <permission android:name="any.test.permission" android:protectionlevel="signatureorsystem" /> <application android:label="anytest"> <receiver android:name=".receiver" android:exported="true" android:permission="any.test.permission" /> </application> </manifest>
now i'd test sending broadcasts via
adb shell broadcast -n any.test/.receiver
from computer. while works fine on emulator, doesn't work @ on real device when permission set. if permission not set, works intended.
so how can define or grant permission can test on real device adb
?
i want make exported receiver little more secure in debug mode, if there's special permission adb
usage or run-time test allow calls adb
can implement in receiver.onreceive(context, intent)
, too. receiver doesn't have work adb
, other apps @ same time.
a root shell can send broadcast protected permissions.
normal shell has been granted lots of permissions, check file in aosp souce code: frameworks\base\packages\shell\androidmanifest.xml.
replace any.test.permission
1 permission in file protectionlevel signatureorsystem
, android.permission.real_get_tasks
. after that, can send broadcast receiver in shell, other 3rd app can not.
Comments
Post a Comment