您的位置:首页 > 移动开发 > Android开发

android系统中,运行指定的应用程序

2011-08-07 20:28 197 查看
在android开发中,如何才能运行选定的应用程序。

例如有一个像settings中的应用程序列表,点击一个应用程序后,android将运行该程序?

本人正好在项目中实现了该功能,现与大家分享,代码如下:

private void runActivity() {

String packageName = applicationInfo.packageName;

Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null);

resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER);

resolveIntent.setPackage(packageName);

List<ResolveInfo> apps = getPackageManager().queryIntentActivities(resolveIntent, PackageManager.GET_ACTIVITIES);

if(apps.size() == 0) {

Toast.makeText(this, "无法启动该应用", Toast.LENGTH_SHORT).show();

return;

}

ResolveInfo ri = apps.get(0);

if (ri != null) {

String className = ri.activityInfo.name;

ComponentName cn = new ComponentName(packageName, className);

Intent intent = new Intent();

intent.setComponent(cn);

startActivity(intent);

}

}

applicationInfo很重要,可将ApplicationInfo对象设置为全局变量,点击一个item后对其进行赋值,如下:

private ApplicationInfo applicationInfo ;

public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {

applicationInfo = packageInfos.get(position).applicationInfo;

boolean flag = false;

if((applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {

// Updated system app

flag = true;

} else if((applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {

// Non-system app

flag = true;

}

if(flag) {

Log.e("sky", "is not system app");

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐