Android Remote Service 外部访问权限控制

 

<Service>

可以通过以下参数限制外部访问

android:exported="false"                         //不允许其他进程访问

android:process=":remote"                        //声明service独立运行进程名称 

 

如果需要支持外部访问,但限定只有某些进程可以访问

<permission
  android:name="com.example.REQUEST_FINGERPRINT"
  android:protectionLevel="signature" />               //声明一个自定义权限

<service

  android:exported="true"                       //允许其他进程访问

  android:process=":remote"                     //声明service独立运行进程名称 

  android:permission="com.example.REQUEST_FINGERPRINT" >  //声明外部访问需要注册的权限

然后在需要远程访问该Service的App中引用权限

<uses-permission android:name="com.example.REQUEST_FINGERPRINT" />

 

SDK API 21 中,如果声明了一个可外部访问的Service而没有声明所需权限,会在IDE中看到warning:Exported service does not require permission

如果App访问了一个需要权限的Service,那么App会崩溃,并提示Error:Not allowed to bind to service Intent

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。