盛年不重来,一日难再晨,及时当勉励,岁月不待人。这篇文章主要讲述如何在Android中的Activity启动第三方应用程序?相关的知识,希望能为你提供帮助。
如何在点击某个按键后,执行启动第三方应用程序界面?
/** * < 功能描述> 启动应用程序 * * @return void [返回类型说明] */ private void startUpApplication(String pkg) { PackageManager packageManager = mContext.getPackageManager(); PackageInfo packageInfo = null; try { // 获取指定包名的应用程序的PackageInfo实例 packageInfo = packageManager.getPackageInfo(pkg, 0); } catch (NameNotFoundException e) { // 未找到指定包名的应用程序 e.printStackTrace(); // 提示没有GPS Test Plus应用 Toast.makeText(mSptActivity, mSptActivity.getString(R.string.gps_no_test_plus), Toast.LENGTH_SHORT).show(); return; } if (packageInfo != null) { // 已安装应用 Intent resolveIntent = new Intent(Intent.ACTION_MAIN, null); resolveIntent.addCategory(Intent.CATEGORY_LAUNCHER); resolveIntent.setPackage(packageInfo.packageName); List< ResolveInfo> apps = packageManager.queryIntentActivities( resolveIntent, 0); ResolveInfo ri = null; try { ri = apps.iterator().next(); } catch (Exception e) { e.printStackTrace(); return; } if (ri != null) { // 获取应用程序对应的启动Activity类名 String className = ri.activityInfo.name; // 启动应用程序对应的Activity Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_LAUNCHER); ComponentName componentName = new ComponentName(pkg, className); intent.setComponent(componentName); mContext.startActivity(intent); } } }
想要打开指定包名的应用时,提供包名即可:
// Gps Test Plus应用程序包名 startUpApplication("com.chartcross.gpstestplus");
上述的字符串:com.chartcross.gpstestplus即是Google提供的GPS Test Plus应用的包名。
【如何在Android中的Activity启动第三方应用程序()】疑问:
1. 现实情况是:可能在第一次刷机后,无法启动应用。如何解决此问题?
2. 留给未来…
推荐阅读
- Android 如何判断指定服务是否在运行中 “Service”
- Android系统定制——Download Android System 及加载system镜像文件
- Android 屏幕适配问题分析
- Android应用程序结构
- android开发学习——day7
- Android的系统属性(build.propSystemProperties)
- 获取Android设备WIFI的MAC地址 “MAC地址”
- Android中使用databinding编译时出现的error:Execution failed for task ':app:dataBindingProcessLayoutsDebug&
- Android名片扫描识别系统SDK