我真的需要导出 SyncAdapter 服务吗?

Иго*_*ков 5 android synchronization android-syncadapter

onPerformSync(...) {
    // building status bar notification here
}

<service android:name=".SyncService" android:exported="false"> ...
Run Code Online (Sandbox Code Playgroud)

这对我有用(4.4.2 SGN3)。出现通知。这两个requestSync()addPeriodicSync()

有没有人有一些想法?

是否需要出口SyncAdapter服务?

我真正想知道的是是否有任何其他(敌人)应用程序可以启动我的exported服务。如果可以,我不需要导出该服务,希望 Android 不是那么自由。

我在 Android 开发指南/api 中没有找到任何说明。我是新手,我希望我的问题是正确的,并且足够好理解:)

lob*_*zik 2

我想您需要导出 SyncService 才能从其他应用程序使用它。文档是这样说的:

属性 android:exported="true" 允许除您的应用程序(包括系统)之外的进程访问该服务。

如果您不需要将同步服务共享给其他应用程序,则可能可以不导出它。但你需要在旧版本的android上测试它,它的逻辑可能已经改变了。

  • @DegenSharew 它看起来很合乎逻辑,但它也可以在导出= false 的情况下正常工作。 (4认同)