Lar*_*ars 5 permissions android version android-manifest android-c2dm
我目前正在开发一个应用程序,它以一定的间隔从服务器中提取数据.我意识到这不是最有效的方式,因为它经常轮询服务器而不检索任何新数据.
解决方案是使用C2DM,我目前正在研究如何设置它.但是,大约7%的用户仍在使用Android 2.1,我不想将其从我的应用中排除.
我想我可以检查用户正在运行哪个版本的android,然后决定是使用C2DM还是轮询(在同一个apk中都有代码).但是,为了运行C2DM代码,我需要在清单中指定使用某些权限,而我担心有了这些权限,android 2.1用户将无法下载我的apk文件.
所以我的问题是,如果我认为2.1用户将无法下载具有C2DM权限的应用程序,以及如何解决此问题,我是否正确.我是否必须创建两个不同的apk文件并使用我对应用程序进行的每个(其他)更新单独更新它们不受旧版Android版本的限制?
谢谢你.
Google C2DM 在 2.2 之前无法工作,但您可以维护所有版本的权限。因为您所做的只是在清单中设置接收器。
因此,当您注册 2.2 之前版本时,您将永远不会收到注册请求的结果。
只是为了让答案更明确:
当您定义自定义权限时:
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
Run Code Online (Sandbox Code Playgroud)
2.2 之前的设备将忽略此权限。这意味着任何设备都可以安装此套件。它只是在 2.2 之前不起作用。
PS 这也值得注意。Google C2DM 无法在没有 Android 市场(且没有 Android 市场设置)的设备上运行。
| 归档时间: |
|
| 查看次数: |
385 次 |
| 最近记录: |