как отключить запуск приложения по завершении загрузки



Я хочу сделать диспетчер задач мягким, я хочу проверить все приложения, которые использовали android.намерение.действие.BOOT_COMPLETED и я хочу также отключить автоматический запуск при запуске мобильного запуска. я понятия не имею, если мне нужно разрешение root, чтобы закончить его, любой совет может получить

564   3  

3 ответов:

Примечание. Вы не можете изменить файл /data/system/packages.xml выше, чтобы удалить разрешение android.intent.action.BOOT_COMPLETED.

Это связано с тем, что платформа android при запуске анализирует каждый файл манифеста apk (то есть приложения), и когда она видит разрешение android.intent.action.BOOT_COMPLETED, она вызывает приложение в это время.

Таким образом, изменение файла не будет иметь никакого эффекта. Я уже пробовал это - поверьте мне. Единственный известный мне способ удалить разрешение android.intent.action.BOOT_COMPLETED (помимо модификации фреймворка andorid, его перекомпиляции и загрузки на ваш компьютер телефон) заключается в ручном редактировании файлов apk, из которых вы хотите удалить разрешение.

, очевидно, не для слабонервных!

Чтобы проверить, какие приложения получают BOOT_COMPLETED действие намерения вы можете использовать android PackageManager и ResolveInfo класс что-то вроде,

Intent intent = new Intent(android.intent.action.BOOT_COMPLETED);

List<ResolveInfo> listApp = packageManager.queryIntentActivities(intent, 0);
for (ResolveInfo res : listApp) {
    Log.e("Camera Application Package Name and Activity Name",res.activityInfo.packageName + " " + res.activityInfo.name));
}

Но я думаю, что невозможно изменить разрешение другого приложения, которое они используют. Так что вы не можете помешать ему начать в BOOT_COMPLETED Время.Если вы хотите этого, то для этого вам нужно ROOT разрешение .

Есть одно из приложений на android market, которые позволяют вам это сделать, например LBE Privacy Охранник

Обновление:

В структуре Android framework, в /data/system/packages.xml, которая содержит всю информацию об установленном приложении, включают в себя используемое разрешение, (я никогда не пробовал это также не знаю, работал ли он или нет) если вы можете изменить этот файл, то, возможно, вы можете достичь того, что вы хотите.. Спасибо..

Если вы можете узнать, что такое компонент (например, посмотрев манифест приложения), вы можете отключить компонент из командной строки adb или корневой оболочки с помощью: pm disable package.name/component.class.name

Приложение Autostarts делает это. Он имеет исходный код GPL (я думаю), который вы можете повторно использовать для вашего приложения, если ваше приложение тоже GPL.

Comments

    Ничего не найдено.