-------------Android判断应用或Activity的存在性
2014-02-26 18:35
357 查看
http://blog.163.com/zmhot88@126/blog/static/169846647201082994458979/
通过包名判断应用的存在:
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(); intent.setClassName("包名", "类名"); if(intent.resolveActivity(getPackageManager()) == null) { //说明系统中不存在这个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();
}
相关文章推荐
- Android如何判断应用或Activity的存在性
- Android判断应用或Activity的存在性
- Android判断应用或Activity的存在性
- Android判断应用或Activity是否存在
- Android----获得当前应用包名、当前activity的名字、判断是否是系统桌面、service类
- Android之后台服务判断本应用Activity是否处于栈顶
- (4.2.16.5)Android判断应用或Activity是否存在
- android判断某个应用或者activity是否在运行
- Android判断应用或Activity是否存在
- Android开发中:如何判断某Application和Activity的存在性
- Android之后台服务判断本应用Activity是否处于栈顶
- 半转载半总结:Activity管理---Android之后台服务判断本应用Activity是否处于栈顶
- Android之后台服务判断本应用Activity是否处于栈顶
- Android判断应用是否正在前台运行&Activity是否正在前台运行
- (android实战)判断当前task中的运行的activity是否为当前应用
- Android判断应用或Activity是否存在
- Android判断应用或Activity是否存在
- Android 判断应用是否在运行以及判断处于顶层的activity
- Android应用开发判断一个Activity是否正在运行