我正在尝试在 Android Studio 中构建启动器,并且我正在使用 RecyclerView
您知道,当安装应用程序时,它会自动添加到启动器菜单中。同样,当应用程序被删除时,它也会从 View 中删除。
应该使用哪种方法来实现这一点?现在,每次创建 View 时列表都会更新:
public ArrayList<AppInfo> getAppInfo(){
ArrayList <AppInfo> appsList = new ArrayList<>();
PackageManager pm = getPackageManager();
Intent i = new Intent(Intent.ACTION_MAIN, null);
i.addCategory(Intent.CATEGORY_LAUNCHER);
List<ResolveInfo> allApps = pm.queryIntentActivities(i, 0);
for(ResolveInfo ri:allApps) {
AppInfo app = new AppInfo();
app.label = ri.loadLabel(pm);
app.packageName = ri.activityInfo.packageName;
app.icon = ri.activityInfo.loadIcon(pm);
appsList.add(app);
System.out.println(app.label);
}
return appsList;
}
最佳答案
<receiver
android:name="com.your.receiver"
android:enabled="true"
android:exported="true" >
<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<data android:scheme="package"/>
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED" />
关于java - 有没有一种方法可以监听和检测安装和卸载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60173043/