首页 > 移动平台 > 详细

如何在Android中的Activity启动第三方应用程序?

时间:2017-01-23 23:44:50      阅读:306      评论:0      收藏:0      [点我收藏+]

如何在点击某个按键后,执行启动第三方应用程序界面?

/**
     * <功能描述> 启动应用程序
     * 
     * @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应用的包名。

 

疑问:

1. 现实情况是:可能在第一次刷机后,无法启动应用。如何解决此问题?

2. 留给未来…

如何在Android中的Activity启动第三方应用程序?

原文:http://www.cnblogs.com/CVstyle/p/6345094.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!