1、在AndroidManifest.xml文件中声明自定义权限
<permission android:name="com.android.test.aidl.SERVICES" android:protectionLevel="dangerous"/>
name,该标签就是权限的名字。
protectionLevel,指定保护级别。
Android将权限分为若干个保护级别,normal, dangerous, signature等。normal就是正常权限,该权限并不会给用户或者设备的隐私带来风险;dangerous就是危险权限,该级别的权限通常会给用户的数据或设备的隐私带来风险;signature指的是,只有相同签名的应用才能使用该权限。更多的介绍可以参考 protectionLevel 。
2、定义Activity、Service,我们需要为这个Activity、Service指明访问权限,权限即为我们刚申请的权限,这个同样需要在AndroidManifest.xml文件中标识
<activity
??????? android:name=".MainActivity"
??????? android:permission="com.android.test.aidl.SERVICES" ... />?
<service android:name=".TestService" android:permission="com.android.test.aidl.SERVICES" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="com.android.test.aidl.ServiceMain" /> </intent-filter> </service>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
终端访问需要在AndroidManifest.xml文件中首先申请权限
<uses-permission android:name="com.android.test.aidl.SERVICES" />
这样就可以访问了。
java.lang.SecurityException: Not allowed to bind to service Intent ...