我创建了一个通过AIDL与其他应用程序绑定的服务,并将其添加到清单中,如下所示:
<service android:name=".MyService">
<intent-filter>
<action android:name="org.example.android.myservicedemo.IService" />
</intent-filter>
</service>
IService是AIDL接口。
这样,Eclipse会向我显示警告“ 导出的服务不需要许可”。如果删除intent-filter
,警告会消失,但是显然应用程序无法绑定到该服务。
此警告是什么意思?
在您的AndroidManifest.xml中创建一个新的<permission>,并将其名称用作声明的
—
Jens
android:permission
属性<service>
。或者只是忽略警告-服务打算做什么?如果您将服务保持在“内部”状态,可以轻松进行设置android:exported="false"
<service>
然后要么忽略警告,要么添加<permission>;如果它们都是使用相同证书签名的自己的应用程序,则使用“签名”;否则,请使用“正常”签名。
—
詹斯(Jens)
您已经在使用(发布)证书对应用程序进行签名-签名保护会检查请求许可的应用程序是否与定义许可的应用程序具有相同的签名。
—
詹斯(Jens)
@Jens谢谢...这对我有所帮助。...顺便说一句,您可以添加您的评论作为答案。让enzom83接受它。
—
Vijay C
Service
并调用通过您的AIDL界面公开的任意方法。