格式错误的Android清单违反条款

时间:2013-06-15 09:51:43

标签: android android-manifest receiver

我刚从Google Play收到一封电子邮件,通知我我的应用将被删除,因为“我们已确定您的应用存在格式错误的AndroidManifest.xml文件,这可能会让用户难以卸载该应用”

该应用很简单:将设备发送到待机状态。

这是他们的推荐

  

特别是,应用程序的AndroidManifest.xml包含格式错误的设备管理接收器条目(由名为android.app.device_admin的元数据标识)。要成为格式良好的设备管理员,该条目必须使用操作android.app.action.DEVICE_ADMIN_ENABLED声明Intent的Intent过滤器。如果接收者是设备管理员,建议的修改是使条目格式良好,或者如果接收者不是设备管理员,则删除名为android.app.device_admin的元数据。

这是Android清单中的部分

        <receiver
            android:name=".MyAdmin"
            android:permission="android.permission.BIND_DEVICE_ADMIN" >
            <meta-data
                android:name="android.app.device_admin"
                android:resource="@layout/policies" >
                <intent-filter>
                    <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" >
                    </action>
                </intent-filter>
            </meta-data>
        </receiver>

说实话,我不明白如何解决它。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

问题可能是您在元数据标记下嵌套了<intent-filter>...</intent-filter>,而两者都应该是<receiver />的直接子项。根据文档,有效声明应如下所示:

<receiver>
    <intent-filter> . . . </intent-filter>
    <meta-data />
</receiver>

http://developer.android.com/guide/topics/manifest/manifest-intro.html