android 获取系统中 已经安装和打开 app


//查询Android系统的所有具备ACTION_MAIN和CATEGORY_LAUNCHER的Intent的应用程序
PackageManager packageManager = getPackageManager();
final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
// 本地的所有应用
final List<ResolveInfo> localApp = packageManager
.queryIntentActivities(mainIntent, 0);


android: 获取非系统app

final List<PackageInfo> packageInfos = packageManager
.getInstalledPackages(0);

List<PackageInfo> local_pkgInfoNoSys = new ArrayList<PackageInfo>();
for (int i = 0; i < packageInfos.size(); i++) {
PackageInfo packageInfo = packageInfos.get(i);
// 获取 非系统的应用
if ((packageInfo.applicationInfo.flags & packageInfo.applicationInfo.FLAG_SYSTEM) <= 0) {
local_pkgInfoNoSys.add(packageInfo);
}
// 本来是系统程序,被用户手动更新后,该系统程序也成为第三方应用程序了
else if ((packageInfo.applicationInfo.flags & packageInfo.applicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
local_pkgInfoNoSys.add(packageInfo);
}
}



打开app应用
 方法一
[code="java"]
// 方法一 只能打开 xml中 有 android.intent.category.LAUNCHER 的应用
Intent mainIntent = getPackageManager().getLaunchIntentForPackage(packageName);
startActivity(mainIntent);

打开app的应用 方法二

Intent mIntent = new Intent();
ComponentName comp = new ComponentName(
appIconInfo.getPackageInfo().packageName,
"com.example.gamehall.AppActivity");
mIntent.setComponent(comp);
mIntent.setAction("android.intent.action.VIEW");
startActivity(mIntent);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值