Если у вас нет прав на чтение и запись из контекста, который вы используете, вы не сможете выполнять chmod из того же контекста. Измените на суперпользователя (su. Для этого устройство должно быть рутировано), а затем вы можете изменить режим. Вот код Оно работает. Я проверял это. Спасибо
void gainRoot()
{
Process chperm;
try {
chperm=Runtime.getRuntime().exec("su");
DataOutputStream os =
new DataOutputStream(chperm.getOutputStream());
os.writeBytes("chmod 777 /data/data/com.android.settings/MyApp/A.png\n");
os.flush();
os.writeBytes("chmod 777 /data/data/com.android.settings/MyApp/B.png\n");
os.flush();
os.writeBytes("chmod 777 /data/data/com.android.settings/MyApp/C.png\n");
os.flush();
os.writeBytes("exit\n");
os.flush();
chperm.waitFor();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Точно используйте код и проверьте, рутировано ли ваше устройство Это должно сработать. Вызовите gainRoot () из oncreate (). Дайте мне знать, если у вас возникнут трудности. Спасибо