Android开发-Intent使用

Android开发-Intent基础使用

Intent用途

1.启动Activity 将Intent对象传递给startActivity()方法或startActivityForResult()方法以启动一个Activity,该Intent对象包含了要启动的Activity的信息及其他必要的数据。

2.启动Service将Intent对象传递给startService()方法或bindService()方法以启动一个Service,该Intent对象包含了要启动的Service的信息及其他必要的数据。
3.发送广播广播是一种所有App都可以接收的信息。Android系统会发布各种类型的广播,比如发布开机广播或手机充电广播等。我们也可以给其他的App发送广播,可以将Intent对象传递给sendBroadcast()方法或sendOrderedBroadcast()方法或sendStickyBroadcast()方法以发送自定义广播。

Intent两种类型及使用方法

intent有两种类型:explicit(显式)的和implict(隐式)。
1.explicit(显式)

Intent intent=new Intent(MainActivity.this,SecondActivity.class);
startActivity(intent);
  1. implict(隐式)
Intent intent=new Intent();
intent.setAction("cn.itcast.start_activity");
startActivity(intent);

其中setAction中的cn.itcast.start_activity为AndroidMainfeist.xml文件中对要打开的Activity的action的name,使用隐式必须在AndroidMainfeist.xml文件中编写对应activity的intent-filter

 <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".SecondActivity" />
        <activity android:name=".ThirdActivity">
            <intent-filter>
                <action android:name="cn.itcast.start_activity" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
 //Second为显示调用无需写intent-filter
 //Third为隐式调用要编写intent-filter
发布了6 篇原创文章 · 获赞 7 · 访问量 137

猜你喜欢

转载自blog.csdn.net/qq_41696518/article/details/105286162