同步适配器服务已导出但未受保护

研究员开发者!

我在我的应用程序和相应的同步服务中有一个同步适配器。 根据Google示例代码 ,我已经声明了所有内容,包括同步服务。 更大的图像看起来像这样:

<service android:name="com.myapp.SyncService" android:exported="true" android:process=":sync"> <intent-filter> <action android:name="android.content.SyncAdapter"/> </intent-filter> <meta-data android:name="android.content.SyncAdapter" android:resource="@xml/syncadapter" /> </service> 

虽然在服务上设置android:exported属性为true是有意义的(使Android系统能够达到它),但是对于如何在访问权限方面来说,我有些困惑。 我不希望任何人,但我的应用程序和Android系统有权访问该服务。

也许有点天真,我已经创build了自己的许可:

 <permission android:name="com.myapp.permission.SYNC_ADAPTER" android:protectionLevel="signatureOrSystem" /> 

但是读一下protectionLevel级别让我更想知道。 Google说 :

请勿使用此选项[…]“signatureOrSystem”权限用于多个供应商将应用程序内置到系统映像中并需要明确共享特定function的特定情况,因为这些function正在构build在一起。

所描述的情况与我的使用情况相去甚远。 那么问题依然存在:

我如何保护我的同步服务,使Android系统,但没有第三方应用程序,可以访问它?

任何澄清将不胜感激!

Solutions Collecting From Web of "同步适配器服务已导出但未受保护"