美文网首页
Android通过Intent 实现 App启动另一个APP

Android通过Intent 实现 App启动另一个APP

作者: GloryMan | 来源:发表于2021-01-08 15:37 被阅读0次

    先上效果无图无真相


    dongtu.gif

    方式1:(此方式最为简单,只需要获取包名就可以)

    // 通过包名跳转的app
    val intent = packageManager.getLaunchIntentForPackage("com.achievo.vipshop")
    // 如果intent为空,就没有安装要跳转的app
         if (intent != null) {
             // 传递参数和Activity和Activity传参数一样
             // intent.putExtra("name", "xxxx")
             // intent.putExtra("age", "19")
             startActivity(intent)
          } else {
             // 没有安装app应用,可以直接跳转到下载页、也可以提醒一下
             Toast.makeText(applicationContext, "赶紧下载安装这个APP吧", Toast.LENGTH_LONG).show()
          }
    

    方式2: (需要获取跳转app首页的activity)

    import android.content.ComponentName
    import android.content.Intent
    
    val intent = Intent()
    //第一种方式
    val ComponentN = ComponentName("com.achievo.vipshop", "com.achievo.vipshop.homepage.activity.HomeAdvPopActivity")
    try {
        intent.component = ComponentN
        //第二种方式
        intent.setClassName("com.achievo.vipshop", "com.achievo.vipshop.homepage.activity.HomeAdvPopActivity");
        // intent.putExtra("test", "intent1")
        startActivity(intent)
    } catch (e: Exception) {
        //TODO  这里提示用户没有安装应用或找不到指定Activity,或者做其他操作
        Toast.makeText(this, "未安装", Toast.LENGTH_SHORT).show()
    }
    

    这两种方式的优缺点
    第一种:只需要包名就可以打开指定app,相对简单方便获取包名也不是啥难事
    第二种:需要在获取包名之后,在获取首页的activity,相对比较麻烦,但是这种方式打开是在当前项目中开辟新线程来加载你所要打开的app,会在打开之后出现两个app,可单独操作,不会同步想要同是在一个app一个账号中操作多个东西可以使用这种方式

    最后说下想要获取其他app的首页activity可以自行百度,如找不到也可以联系我QQ:506907778

    相关文章

      网友评论

          本文标题:Android通过Intent 实现 App启动另一个APP

          本文链接:https://www.haomeiwen.com/subject/ibrfaktx.html