[文章]HarmonyOS应用开发-如何打开第三方应用

阅读量0
0
1
参数说明:
Contextthis
appPkg:appapk包名
AbilityNameapp启动类路径
url: app下载网页
1、判断设备上是否安装该应用
boolean isAppExist(Context context, String appPkg) {
    try {
        IBundleManager manager = context.getBundleManager();
        return manager.isApplicationEnabled(appPkg);
    } catch (IllegalArgumentException e) {
        return false;
    }
}
2、如果已经下载则打开app
public void launchAppDetail(String appPkg.String AbilityName){
    Intent intent = new Intent();
    Set<String> entities = new HashSet<>();
    entities.add("android.intent.category.LAUNCHER");
    Operation operation = new Intent.OperationBuilder()
            .withDeviceId("")
            .withBundleName(appPkg)
            .withAbilityName(AbilityName)
            .withAction("android.intent.action.MAIN")
            .withFlags(Intent.FLAG_NOT_OHOS_COMPONENT)
            .withEntities(entities)
            .build();
    intent.setOperation(operation);
    startAbility(intent);
}
3、如果还未安装则跳转到应用商场
public void AppShop(String appPkg){
    HiLog.info(log,"launchAppDetail");
    try {
        if(appPkg.isEmpty())return;
        Uri uri = Uri.parse("market://details?id="+appPkg);
        HiLog.info(log,"uri:"+uri);
        Intent intent = new Intent();
        intent.setUri(uri).addFlags(Intent.FLAG_ABILITY_NEW_MISSION);
        startAbility(intent,0);
    }catch (Exception e){
        e.printStackTrace();
    }
}
4、如果未上架应用商场,跳转到网站上下载
public void AppWeb(String url){
    Intent intent = new Intent();
    Operation operation = new Intent.OperationBuilder()
            .withUri(Uri.parse(url))
            .build();
    intent.setOperation(operation);
    startAbility(intent);
}
下面是一些安卓常用的apk包名,紧供参考:
// 微信 包名 com.tencent.mm //启动类名:com.tencent.mm.ui.LauncherUI
//QQ 包名 com.tencent.mobileqq  //启动类名:com.tencent.mobileqq.activity.HomeActivity
//支付宝 包名:com.eg.android.AlipayGphone    //启动类名com.eg.android.AlipayGphone.FastStartActivity
//钉钉 包名:com.alibaba.android.rimet    //启动类名:com.alibaba.android.rimet.biz.home.activity.HomeActivity
//QQ空间 包名:com.qzone
//QQ手机管家 包名:com.tencent.qqpimsecure
//微博 包名:com.sina.weibo   //启动类名:com.sina.weibo.EditActivity
//天天动听 包名:com.sds.android.ttpod
//中华万年历 包名:cn.etouch.ecalendar
//百度地图 包名:com.baidu.BaiduMap
//高德地图 包名:com.autonavi.minimap   //启动类名:com.autonavi.map.activity.SplashActivity
//信息 包名:com.android.mms
//设置 包名:com.android.settings
//浏览器 包名:com.android.browser
//计算器 包名:com.android.calculator2
//时钟 包名:com.android.deskclock
//图库 包名:com.android.gallery3d
//相机 包名:com.android.hwcamera
//音乐 包名:com.android.mediacenter
//收音机 包名:com.huawei.android.FMRadio
//录音机 包名:com.android.soundrecorder
//UC浏览器 包名:com.UCMobile
//美图秀秀 包名:com.mt.mtxx.mtxx
//PPTV 包名:com.pplive.androidphone
//书旗免费小说 包名:com.shuqi.controller
//360手机助手 包名:com.qihoo.appstore
//360卫士 包名:com.qihoo360.mobilesafe
//360清理大师 包名:com.qihoo.cleandroid_cn
//百度手机助手 包名:com.baidu.appsearch
//豌豆荚 包名:com.wandoujia.phoenix2
//小米应用商店 包名:com.xiaomi.market
//华为应用商店 包名:com.huawei.appmarket
//安智应用商店 包名:com.hiapk.marketpho
//R.E.管理器 包名:com.speedsoftware.rootexplorer
//PP手机助手 包名:com.pp.assistant
//OPPO应用商店 包名:com.oppo.market
//联想应用商店  包名:com.lenovo.leos.appstore
//应用宝 包名:com.tencent.android.qqdownloader
apk包名原文链接:https://blog.csdn.net/qq_38922435/article/details/113810563
蛟龙腾飞整理与练习。
附件:

回帖

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
链接复制成功,分享给好友