在开发过程中有时会通过本应用启动另一个应用,这个时候,可能只是知道该应用图标下面的名字,那么如何通过这个名字来启动呢?
首先,通过该名字,比如“微信”,去查找其所对应的apk包名
- <span style="font-size:18px;"> packages=context.getPackageManager().getInstalledPackages(0);
- for(int i=0;i<packages.size();i++)
- {
- PackageInfo packageInfo=packages.get(i);
- System.out.println(packageInfo.packageName);
- appName=packageInfo.applicationInfo.loadLabel(context.getPackageManager()).toString();
- if(appName.equals(name))
- {
- return packageInfo.packageName;
- }
- }</span>
然后通过获取包名的启动方法,从而启动该应用。
- <span style="font-size:18px;">PackageManager packageManager=getPackageManager();
- Intent intent=packageManager.getLaunchIntentForPackage(PackageName);
- startActivity(intent);</span>
非常简单。