IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

安卓第三方应用调起常见问题

风雨雷电堂 2016-02-16 20:53:22 累计浏览 1,831 次
本机暂存

调用第三方APP

Intent intent = new Intent();
ComponentName cmp = new ComponentName("com.sina.weibo","com.sina.weibo.EditActivity");
intent.setAction(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setComponent(cmp);
startActivityForResult(intent, 0);

   另:几个常用的Package命令:

   1.新浪微博(编辑界面):com.sina.weibo,com.sina.weibo.EditActivity

   2.腾讯微博(编辑界面):com.tencent.WBlog,com.tencent.WBlog.activity.MicroblogInput

   3.微信:com.tencent.mm,com.tencent.mm.ui.LauncherUI

   4.QQ:com.tencent.mobileqq,com.tencent.mobileqq.activity.HomeActivity

判断是否应用已经安装

//打开微博
private void openWeiBo(Context context, String uid){
  if(isHasWeiBo(context)){
    Intent intent = new Intent(Intent.ACTION_VIEW);
    Uri uri = Uri.parse("sinaweibo://userinfo?uid=" + uid);
    intent.setData(uri);
    Intent chooseIntent = Intent.createChooser(intent, "Weibo");
    startActivity(chooseIntent);
    }
  else{
    Intent intent = new Intent(Intent.ACTION_VIEW);
    Uri uri = Uri.parse("http://weibo.cn/qr/userinfo?uid=" + uid);
    intent.setData(uri);
    Intent chooseIntent = Intent.createChooser(intent, "Weibo");
    startActivity(chooseIntent);
    }
  }

//检查是否有安装微博客户端
private boolean isHasWeiBo(Context context){
  final PackageManager packageManager = context.getPackageManager();// 获取packagemanager
  List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);// 获取所有已安装程序的包信息
  List<String> pName = new ArrayList<String>();// 用于存储所有已安装程序的包名
  // 从pinfo中将包名字逐一取出,压入pName list中
  if (pinfo != null){
    for (int i = 0; i < pinfo.size(); i++){
      String pn = pinfo.get(i).packageName;
      pName.add(pn);
      }
    }
  return pName.contains("com.sina.weibo");// 判断pName中是否有目标程序的包名,有TRUE,没有FALSE
  }

同分类推荐文章

  1. 「置顶」我做了什么 (2026-05-05 12:13:28)
  2. 万字长文推演:手机不再从 App 开始,Agent OS 如何接管任务入口 (2026-04-28 14:57:22)
  3. Android Perfetto 系列 10 - Binder 调度与锁竞争 (2025-11-16 15:33:30)

查看更多 移动开发 文章 →

建议继续学习

  1. 情绪版(Mood board)操作流程的新思考 (累计阅读 41,753)
  2. android 开发入门 (累计阅读 19,529)
  3. Android 连接SSID隐藏网络以及 LEAP 认证的方法 (累计阅读 9,539)
  4. 让安卓手机通过代理翻墙的方法 (累计阅读 9,116)
  5. 手机产品设计方向 (累计阅读 7,954)
  6. 实时监控Android设备网络封包 (累计阅读 6,558)
  7. Eclipse开发Android应用程序入门:重装上阵 (累计阅读 6,461)
  8. 基于 PhoneGap 与 Java 开发的 Android 应用的性能对比 (累计阅读 6,411)
  9. Android用户界面设计:表格布局 (累计阅读 6,186)
  10. Windows下使用VMware安装Android (累计阅读 5,633)