android开发分享导出的服务不需要权限:这是什么意思?

我创build了一个由其他应用程序通过AIDL绑定的服务,并将其添加到清单中,如下所示:

<service android:name=".MyService"> <intent-filter> <action android:name="org.example.android.myservicedemo.IService" /> </intent-filter> </service> 

IService是AIDL接口。

通过这种方式,Eclipse向我显示警告“ 导出服务”不需要权限 。 如果我删除intent-filter ,警告消失,但显然应用程序无法绑定到服务。

这个警告是什么意思?

    当我将SDK更新到版本20时,我遇到了同样的问题。 我删除它添加android:导出属性android:exported="false"像这样:

     <service android:name=".MyService" android:exported="false"> <intent-filter> <action android:name="org.example.android.myservicedemo.IService" /> </intent-filter> </service> 

    请参阅此文档

    如果您想限制您的活动使用情况到您自己的应用程序,那么您应该将exported=false添加到您的活动的清单语句中。

    如果你想允许其他应用程序使用它(显式地通过它的类名,或者更好地使用一个数据types或动作的意图),那么你有两个select:

    同样的理由适用于一个服务,使用tools:ignore="ExportedService"和内容提供者的tools:ignore="ExportedContentProvider"

    正如Jens所说:“这意味着用户在手机上的其他(任意)应用程序可以绑定到您的服务,并调用通过您的AIDL接口暴露的任何方法。”

      以上就是android开发分享导出的服务不需要权限:这是什么意思?相关内容,想了解更多android开发(异常处理)及android游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/addevelopment/516776.html

      (0)
      上一篇 2020年12月3日
      下一篇 2020年12月3日

      精彩推荐