上次面试的时候,遇到一个问题:android手机上安装了多个浏览器,在不知道Intent Action等相关信息的情况下打开 某个特定的浏览器。当时没有完全答对,只说了下思路。今天刚好有时间,就整理了下。 不多说,直接上代码: static final String P_NAME = "XXXXXXX";//应用程序名字 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Button bt = (Button) findViewById(R.id.next); bt.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub PackageManager packageManager =ExDemo.this.getPackageManager(); List<PackageInfo> pInfo = packageManager.getInstalledPackages(0);//获取手机里的应用列表 for (int i = 0; i < pInfo.size(); i++){ PackageInfo p = pInfo.get(i); //获取相关包的<application>中的label信息,也就是-->应用程序的名字 String label = packageManager.getApplicationLabel(p.applicationInfo).toString(); if (label.equals(P_NAME)){ //比较label String pName = p.packageName; //获取包名 Intent intent = new Intent(); //获取intent intent =packageManager.getLaunchIntentForPackage(pName); startActivity(intent); br