Android开发:怎样由已知的packageName得到对应的PackageManager对象

时间:2022-11-15 21:57:57
在监听应用的安装和卸载后,我需要刷新应用列表,但是BroadcastReceiver返回的只是包名String packageName,我要怎么得到PackageManager对象来获得对应应用的应用名和图标呢?
if(intent.getAction().equals("android.intent.action.PACKAGE_ADDED")){
String packageName = intent.getDataString();
Toast.makeText(context, "安装了:"+packageName,Toast.LENGTH_LONG).show();

for(ResolveInfo info : MainActivity.packs){
HashMap<String,Object> map = new HashMap<String,Object>();
map.put("icon", info.loadIcon(packageName));
map.put("name", info.loadLabel(packageName));

MainActivity.listItems.remove(map); //添加到列表
}
MainActivity.myAdapter.notifyDataSetChanged();

1 个解决方案

#1


当你启动软件的时候,你是不是应该将手机上的应用数据放到你的map里面,等到触发删除或安装的广播监听器的时候,你可以用包名去判断删除或安装的应用

#1


当你启动软件的时候,你是不是应该将手机上的应用数据放到你的map里面,等到触发删除或安装的广播监听器的时候,你可以用包名去判断删除或安装的应用