我有一个安装在设备中的所有非系统应用程序的列表。我正在列表视图中显示这些应用程序名称。一切都很好,但我想在列表视图的项目选择上启动应用程序。我怎么能这样做。 这是我到目前为止所做的事情。
List<PackageInfo> PackList=new ArrayList();
PackList = getPackageManager().getInstalledPackages(0);
ArrayList<String> array=new ArrayList<String>();
for (int i=0; i < PackList.size(); i++)
{
PackageInfo PackInfo = PackList.get(i);
if ( (PackInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 1)
{
String AppName = PackInfo.applicationInfo.loadLabel(getPackageManager()).toString();
System.out.println(AppName);
array.add(AppName);
}
}
l=getListView();
ArrayAdapter<String> adapter= new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1 ,array );
l.setAdapter(adapter);
l.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
String str=l.getItemAtPosition(arg2).toString();
//intent intent=pm.getp
}
});
答案 0 :(得分:1)
使用包名称启动另一个应用程序 - 这里是简单的代码 -
Intent appStartIntent = getPackageManager().getLaunchIntentForPackage("Your.package.Name");
startActivity(appStartIntent);