الإذن الذي تطلبه (التعديل في إعدادات الجهاز)
android.permission.WRITE_SETTINGS
هو حاليا في مجموعة signature|appop|pre23|preinstalled
و كمثال على هذا
android.permission.CHANGE_NETWORK_STATE
وَ
android.permission.SYSTEM_ALERT_WINDOW
هذا يعني أنك تحصل عليه على Android SDK 22ِِ وما دون. في الإصدار الأحدث ، يجب أن تكون مشغل تطبيق app operator.
حاول تغيير Android SDK 22ِِ
و جرب الكود المرفق لإعطاء الصلاحية أثناء تشغيل التطبيق (قم بتضمينه في ال Activity ) سيتم منح الصلاحية للتطبيق خلال تنفيذ البرنامج عن طريق المستخدم.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
boolean retVal = true;
retVal = Settings.System.canWrite(this);
if (retVal == false) {
if (!Settings.System.canWrite(getApplicationContext())) {
Intent intent = new Intent(Settings.ACTION_MANAGE_WRITE_SETTINGS, Uri.parse("package:" + getPackageName()));
Toast.makeText(getApplicationContext(), "Please, allow system settings for automatic logout ", Toast.LENGTH_LONG).show();
startActivityForResult(intent, 200);
}
}else {
Toast.makeText(getApplicationContext(), "You are not allowed to wright ", Toast.LENGTH_LONG).show();
}
}
روابط إضافية
ACTION_MANAGE_WRITE_SETTINGS
canWrite android.content.Context