Launcher является приложением под ответственностью производителя трубки.Власть тогда не всегда "com.android.launcher2.settings"
.Производитель телефонов может переписать свой собственный.Это может быть "com.android.twlauncher"
или что-то еще, в зависимости от пакета Java.
Вам необходимо получить правильные права доступа путем поиска поставщика, который объявляет разрешения на чтение / запись "com.android.launcher.permission.READ_SETTINGS"
или "com.android.launcher.permission.WRITE_SETTINGS"
.
Это пример кода для этого:
static String getAuthorityFromPermission(Context context, String permission){
if (permission == null) return null;
List<PackageInfo> packs = context.getPackageManager().getInstalledPackages(PackageManager.GET_PROVIDERS);
if (packs != null) {
for (PackageInfo pack : packs) {
ProviderInfo[] providers = pack.providers;
if (providers != null) {
for (ProviderInfo provider : providers) {
if (permission.equals(provider.readPermission)) return provider.authority;
if (permission.equals(provider.writePermission)) return provider.authority;
}
}
}
}
return null;
}
Как правило, структура ContentProvider
и DB сохраняются, и вы можете использовать те же запросы.