前言
Activity的跳转有多方式,显示跳转、隐式跳转、协议跳转
一、使用显示跳转
方法1
val intent = Intent(this, SecondActivity::class.java)
startActivity(intent)
方法2
提示:这个方式可以打开其他软件
val intent = Intent()
intent.component = ComponentName(this, SecondActivity::class.java)
startActivity(intent)
多写几个例子
使用包名匹配打开intent
val intent = Intent()
intent.component = ComponentName(this, "com.example.a7_11demo.SecondActivity")
startActivity(intent)
val intent = Intent()
intent.component = ComponentName("com.example.a7_11demo", "com.example.a7_11demo.SecondActivity")
startActivity(intent)
二、使用隐式跳转
这种方式就是当你在点击分享后,跳出让你选择进入哪个app分享的效果
方法1
根据所给的action,进行匹配activity
val intent = Intent()
intent.action = "com.demo.second.test"
startActivity(intent)
需要注意的是,所要启动activity必须要有相应的action和必须要设置category,在AndroidMinfast文件中:
<activity android:name=".SecondActivity" android:exported="true">
<intent-filter>
<action android:name="com.demo.second.test" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
action name表示action的名字
category表示intent启动方式
方法2
通过Scheme协议进行跳转
val intent = Intent(Intent.ACTION_VIEW,Uri.parse("test://testApp:8000"))
startActivity(intent)
需要注意的是,所要启动activity必须要有相应的action,scheme和categroy,在AndroidMinfast文件中:
<activity android:name=".SecondActivity" android:exported="true">
<intent-filter>
设置启动路径
<data android:host="local" android:path="/testApp" android:port="8000" android:scheme="test" />
设置启动类型
<action android:name="android.intent.action.VIEW" />
设置启动方式
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
总结
根据需求实现不一样的启动方式。
如果是同一个App中启动activity,使用显示方式是最简单的。
如果需要调用系统的App,隐式方式简单。
如果在需要从网页中点击跳转到App中的atcivity,使用Scheme协议方式实现。
今天的文章Android Activity 跳转方式分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/32838.html