系统应用程序的Android java.lang.SecurityException

时间:2014-03-12 13:04:28

标签: android security permissions

我将应用安装为系统应用。

这是应用的manifest文件:

<manifest android:versionCode="1" android:versionName="1.0" package="com.myapp">
  <uses-sdk android:minSdkVersion="3"/>
  <uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
  <uses-permission android:name="android.permission.WRITE_SETTINGS"/>
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
  <application android:label="@id/0x7F030001" android:icon="@id/0x7F020000" android:debuggable="true">
    <receiver android:name=".MyReceiver">
      <intent-filter>
        <action android:name="com.myapp.MyReceiver"/>
      </intent-filter>
    </receiver>
  </application>
</manifest>

现在在我的应用中,我收到此消息的异常:

java.lang.SecurityException: Permission denial: writing to secure settings requires android.permission.WRITE_SECURE_SETTINGS

但是您可以看到我的应用确实请求了权限并安装在/ system / app文件夹中

有人可以帮我理解什么是错的,为什么我会得到exception

由于

编辑:

我认为这个问题与android 4.4版本(API 19)中发生了变化有关,因为在旧版本的android中它确实有效!

2 个答案:

答案 0 :(得分:3)

您需要将应用程序从/ system / app移动到/ system / priv-app

您的应用应该是特权应用来访问android.permission.WRITE_SECURE_SETTINGS

答案 1 :(得分:0)

请确保Android.mk是正确的,我得到了同样的问题只是因为Android.mk,我在LOCAL_CERTIFICATE:= platform

时遇到了错误