美文网首页AndroidAndroid控件使用篇Android专题
Android中app跳转到另一个app的方法

Android中app跳转到另一个app的方法

作者: 千夜零一 | 来源:发表于2021-05-24 11:43 被阅读0次

    Java代码

    方式一:包名+特定Activity路径拉起(这里进去就是想到达的指定Activity)

    Intent intent = new Intent(Intent.ACTION_MAIN);
    /**知道要跳转应用的包命与目标Activity*/
    ComponentName componentName = new ComponentName("kuyu.com.xxxx", "kuyu.com.xxxx.xxx.login.WelcomeActivity");
    intent.setComponent(componentName);
    intent.putExtra("", "");//这里Intent传值
    startActivity(intent);
    

    方式二:采用包名拉起(这里就是进去启动页)

    Intent intent = getPackageManager().getLaunchIntentForPackage("kuyu.com.xxxx");
    if (intent != null) {
        intent.putExtra("type", "110");
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
    }
    

    Kotlin代码

    //第一种方式:通过包名+指定Activity路径跳转
                    val intent = Intent(Intent.ACTION_MAIN)
                    val componentName = ComponentName(
                        "com.example.mydemo",
                        "com.example.mydemo.activity.MainActivity"
                    )
                    intent.component = componentName
                    intent.putExtra("", "") //这里通过Intent传值。
                    startActivity(intent)
    
    //第二种方式:通过包名跳转到另一个app的启动页
                    val intent: Intent = activity!!.packageManager.getLaunchIntentForPackage("com.example.mydemo")!!
                    intent.putExtra("type", "110")
                    intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK
                    startActivity(intent)
    

    值得注意的是:如果只是这样,还是无法通过app正常启动另一个app

    具体logcat错误是:

    java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cmp=com.example.mykotlindemo/.main.MainActivity (has extras) } from ProcessRecord{c4e43b9 9825:com.kc.mvvmcomponent/u0a541} (pid=9825, uid=10541) not exported from uid 10563

    原因是,没有设置另一个app可被其他组件启动,需要在要被启动的指定Activity中设置:android:exported="true"

    表明当前 activity 能否被另外一个Application 的组件启动,true允许启动,false不允许。默认是false。注意:该属性是四大组件都拥有的。

    相关文章

      网友评论

        本文标题:Android中app跳转到另一个app的方法

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