как отключить запуск приложения по завершении загрузки
Я хочу сделать диспетчер задач мягким, я хочу проверить все приложения, которые использовали android.намерение.действие.BOOT_COMPLETED и я хочу также отключить автоматический запуск при запуске мобильного запуска. я понятия не имею, если мне нужно разрешение root, чтобы закончить его, любой совет может получить
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действие намерения вы можете использовать androidPackageManagerи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