很显然,除非在应用安装后有相关的广播能被捕获到,否则就没法做了,事实是有的:Intent.ACTION_PACKAGE_ADDED。
Launcher中的应用列表正是这么做的:
Java代码
/**
* Registers various intent receivers. The current implementation registers
* only a wallpaper intent receiver to let other applications change the
* wallpaper.
*/
private void registerIntentReceivers() {
IntentFilter filter = new IntentFilter(Intent.ACTION_PACKAGE_ADDED);
filter.addAction(Intent.ACTION_PACKjAGE_REMOVED);
filter.addAction(Intent.ACTION_PACKAGE_CHANGED);
filter.addDataScheme("package");
registerReceiver(mApplicationsReceiver, filter);
filter = new IntentFilter(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
registerRece