Android入门练习——Intent的显式调用

本文详细介绍了Android中的显式Intent,主要用于在同一应用内的组件跳转。显式Intent通过指定组件名称来确定激活的目标组件,并在AndroidManifest.xml中声明。文中列举了创建显式Intent的几种方法,强调了若要从其他应用调用,需在目标Activity设置android:exported=“true”。并提供了实例代码展示显式Intent的工作原理。
摘要由CSDN通过智能技术生成

Intent的分类

Intent分为显式Intent和隐式Intent。显式Intent常用在本应用之间的组件跳转,隐式Intent常用于在不同应用之间组件的跳转。通过Intent,可以向Android提交一个请求,Android会根据Intent的意愿来选择合适的组件来响应请求。


隐式调用看这里:Android入门练习——Intent的隐式调用

显式Intent

一般通过指定Intent组件名称来实现。显示Intent明确指定了要激活的组件是哪个组件,一般是在应用程序内部使用。
Intent的ComponentName属性:显示方式直接通过组件名称ComponentName来查找,组件名称包含包名称和类名称,被声明在AndroidManifest.xml文件中。

常见方法:

  • setClass( Context packageContext, Class ClassNmae.class), 此方法不能实现跨应用调用
  • setClass( String packageName, String classname ), 此方法能够实现跨应用调用
  • setComponent(ComponentName component),此方法能够实现跨应用调用

其实上面三种方法构造的本质是一样的,即创建一个ComponentName需要指定包名和类名,这样就可唯一确定一个组件类。
但是注意: 若是打开其他工程中的非主界面,则需要在其他工程中对应的AndroidManifest.xml文件中,在相应的activity中,添加属性android:exported=“true”,表示允许其他工程打开此Activity

实例:
效果:
显式intent四种方法实现效果是一样的,打开其他工程中的Activity打开的是之前intentDemo1的内容(详见:https://blog.csdn.net/qq_43145926/article/details/90036825)

  • 主界面activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <Button
        android:id="@+id/btn_01"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="显式Intent的第一种方式" />

    <Button
        android:id="@+id/btn_02"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="显式Intent的第二种方式" />

    <Button
        android:id=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值