安卓第三方应用调起常见问题
浏览:1426次 出处信息
调用第三方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
}
建议继续学习:
- .htaccess的301跳转 (阅读:3645)
- 苹果iOS系统下检查第三方APP是否安装及跳转启动 (阅读:1705)
- 页面跳转时,统计数据丢失问题探讨 (阅读:1915)
- APP调用Custom URL Scheme (阅读:1549)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:垃圾收集器选择
文章信息
- 作者:风雨雷电堂 来源: 风雨雷电堂
- 标签: 调起 跳转
- 发布时间:2016-02-16 20:53:22
近3天十大热文
-
[927] WordPress插件开发 -- 在插件使用 -
[126] 解决 nginx 反向代理网页首尾出现神秘字 -
[51] 如何保证一个程序在单台服务器上只有唯一实例( -
[50] 整理了一份招PHP高级工程师的面试题 -
[48] CloudSMS:免费匿名的云短信 -
[48] Innodb分表太多或者表分区太多,会导致内 -
[48] 用 Jquery 模拟 select -
[48] 全站换域名时利用nginx和javascri -
[48] 海量小文件存储 -
[46] ps 命令常见用法
