Android如何判断应用或Activity的存在性
2015-02-06 10:43
357 查看
通过包名判断应用的存在:
public boolean checkBrowser(String packageName) {
if (packageName == null || "".equals(packageName))
return false;
try {
ApplicationInfo info = getPackageManager().getApplicationInfo(
packageName, PackageManager.GET_UNINSTALLED_PACKAGES);
return true;
} catch (NameNotFoundException e) {
return false;
}
}
getPackageManager()是Context中的抽象函数
判断Activity的存在性:
Intent intent = new Intent();
intent.setClassName("包名", "类名");
if(getPackageManager().resolveActivity(intent, 0) == null) {
//说明系统中不存在这个activity
}
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setClassName("com.android.settings", //$NON-NLS-1$
"com.android.settings.InstalledAppDetails"); //$NON-NLS-1$
intent.putExtra("com.android.settings.ApplicationPkgName", //$NON-NLS-1$
mCurrentPkgName);
List<ResolveInfo> acts = getPackageManager().queryIntentActivities(
intent, 0);
if (acts.size() > 0) {
startActivity(intent);
} else {
Toast.makeText(this,
getString(R.string.failed_to_resolve_activity),
Toast.LENGTH_SHORT).show();
}
通过包名判断应用的存在:
public boolean checkBrowser(String packageName) {
if (packageName == null || "".equals(packageName))
return false;
try {
ApplicationInfo info = getPackageManager().getApplicationInfo(
packageName, PackageManager.GET_UNINSTALLED_PACKAGES);
return true;
} catch (NameNotFoundException e) {
return false;
}
}
getPackageManager()是Context中的抽象函数
判断Activity的存在性:
Intent intent = new Intent();<br style="line-height: 28px;" /> intent.setClassName("包名", "类名"); <br style="line-height: 28px;" /> if(intent.resolveActivity(getPackageManager()) == null) {<br style="line-height: 28px;" /> //说明系统中不存在这个activity<br style="line-height: 28px;" /> }
Intent intent = new Intent();
intent.setClassName("包名", "类名");
if(getPackageManager().resolveActivity(intent, 0) == null) {
//说明系统中不存在这个activity
}
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setClassName("com.android.settings", //$NON-NLS-1$
"com.android.settings.InstalledAppDetails"); //$NON-NLS-1$
intent.putExtra("com.android.settings.ApplicationPkgName", //$NON-NLS-1$
mCurrentPkgName);
List<ResolveInfo> acts = getPackageManager().queryIntentActivities(
intent, 0);
if (acts.size() > 0) {
startActivity(intent);
} else {
Toast.makeText(this,
getString(R.string.failed_to_resolve_activity),
Toast.LENGTH_SHORT).show();
}
相关文章推荐
- Android判断应用或Activity的存在性
- Android开发中:如何判断某Application和Activity的存在性
- Android判断应用或Activity的存在性
- Android如何判断应用或Activity是否存在
- -------------Android判断应用或Activity的存在性
- Android 如何判断一个应用在运行
- Android深入浅出系列之实例应用—如何在一个Activity里调用另外一个Activity?
- android中如果activity中应用fragementlayout布局文件,如何给其中的控件添加事件监听。
- 在Android 2.3中如何使用native_activity.h编写本地应用
- Android 如何判断一个应用在运行
- Android 如何判断一个应用在运行
- 在Android 2.3中如何使用native_activity.h编写本地应用
- Android 如何判断一个应用在运行
- Android深入浅出系列之实例应用—如何在一个Activity里调用另外一个Activity?
- android:两个应用之间如何传值之activity
- 如何判断 Android 应用的 Apk 签名是否一致?
- Android应用中多个Activity如何一键退出程序
- Android 如何判断一个应用在运行
- 在Android 2.3中如何使用native_activity.h编写本地应用
- Android判断应用或Activity是否存在