我想做一个任务管理器软,我想检查所有使用android.intent.action.BOOT_COMPLETED的应用程序,我也想在移动启动时禁用自动启动。我不知道,如果我需要root权限来完成它的任何建议可能会收到如何禁用通过BOOT_COMPLETED运行应用程序
回答
请注意,您不能更改上面的/data/system/packages.xml
文件以删除android.intent.action.BOOT_COMPLETED
权限。
这是因为android框架在启动时会分析每个apk(即app)清单文件,并且当它看到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权限。
有安卓市场,允许你做它的应用之一,例如LBE Privacy Guard
UPDATE:
在Android框架结构,在/data/system/packages.xml
它包含所有已安装的应用程序的信息,包括使用许可,(我从来没有试过这个也不知道它的工作与否)如果你可以修改这个文件,那么可能是你可以实现你想要的.. 谢谢..
如果我有root权限,如何调用命令来阻止它,以及如何获取packages.xml来修改它? – pengwang 2012-03-16 00:32:55
我已经知道res.activityInfo.packageName,如果我可以使用root权限来阻止它,但我可以使用哪个命令? – pengwang 2012-03-16 00:37:52
不需要任何命令。只需从该文件中删除该文件的权限并将其保存到该文件中,并在重新启动设备时删除权限即可生效。 – user370305 2012-03-16 05:18:07
如果你能找到(例如,通过查看应用程序的清单),可以使用以下命令禁用adb命令行或root shell中的组件:pm disable package.name/component.class.name
Autostarts应用程序确实这个。它具有GPL(我认为)源代码,如果您的应用程序是GPL,则可以重新用于您的应用程序。
- 1. 如何通过Boot_completed接收器通知您的(未启动的)应用程序?
- 2. 通过index.html运行Angular2应用程序
- 3. 通过应用程序运行代码
- 4. 通过Telnet运行应用程序
- 5. 通过asp.net运行winforms应用程序
- 6. 通过SSH运行web应用程序
- 7. 通过ASP.NET运行应用程序
- 8. 通过服务运行应用程序
- 9. 通过链接运行应用程序
- 10. 通过SD卡运行应用程序
- 11. 如何通过运行应用程序获取CPU使用率
- 12. 如何运行通过在C#服务应用程序的GUI应用程序
- 13. 如何禁用Windows Phone 8.1运行时通用应用程序的webview缓存?
- 14. 在linux下,如何通过.html运行应用程序
- 15. 如何通过AppleScript安装并运行SIlverlight应用程序?
- 16. 如何通过Atom编辑器运行ASP.NET 5应用程序?
- 17. 如何通过命令提示符运行c#应用程序?
- 18. NetBeans IDE - 如何通过控制台运行Java应用程序
- 19. 如何通过应用程序运行类的实例
- 20. 如何通过脚本(.sh文件)运行mac应用程序?
- 21. 如何通过PhpStorm在Vagrant实例上运行应用程序?
- 22. 如何检查应用程序是否通过SBT运行?
- 23. 如何通过.bat文件运行java应用程序
- 24. 如何通过您的应用程序运行traceroute命令?
- 25. android如何通过应用程序禁用更改
- 26. 如何在应用程序运行时禁用手机键盘?
- 27. Swift Debugger:如何禁用它以运行应用程序?
- 28. XCUITest - 如何在应用程序运行时禁用Wi-Fi?
- 29. 如何禁用Android应用程序禁用(可以通过设置完成)?
- 30. 你如何通过Python运行Twisted应用程序(而不是通过Twisted)?
不错的问题+ 1.我也在等待SO – Sameer 2012-03-15 07:19:59
的回复看看我更新的答案。 – user370305 2012-03-15 07:52:41