【android】1、intent

1、intent介绍:

Intent最常见的用途是绑定应用程序组件,并在应用程序之间进行通信。一般用于启用Activity、启动服务、发送广播等,承担了Android应用程序三大核心组件之间相互通信。

Intent开启三大组件的方式:

①Activity:

startActivity(Intent intent);

strartActivityForResult(Intent intent);

②Service:

ComponentName startService(Intent intent);

boolean bindService(Intent service, ServiceConnection, int flags);

③BroadcastReceiver:(有多个开启的方法,这里仅列举3个)

sendBroadcase(Intent intent);

sendBroadcase(Intent intent, String receiverPermission);

sendOrderedBroadcase(Intent intent,String receiverPermission);
2、显式意图和隐式意图:

①显式意图:

在通过Intent启动Activity时,需要明确指定激活组件的名称。

代码示例:

Intent intent = new Intent(this,Activity02.class);
StartActivity(intent);
或者指定目标组件的包名:

intent.setClassName("cn.itcase.xxx");
startActivity(intent);
②隐式意图:

没有明确指定组件名的Intent称为隐式意图。Android系统会根据隐式意图中设置的action\category\数据找到最合适的组件:

<activity android:name="com.xxx">
     <intent-filter>
            <action android:name = "com.xxx" />
            <category android:name = "android.intent.category.DEFAULT"/>
     </intent-filter>
</activity>
只有当<action> <category>中的内容同时匹配时Activity才会被开启。

使用隐式意图开启Activity代码如下:

Intent intent = new Intent();
intent.setAction("com.XX");
startActivity(intent);
③对比:

显式意图开启组件时必须指定组件的名称,一般只有在本应用程序切换组件时才使用;

隐式意图不仅可以开启本应用的组件,还可以开启其他应用的组件,比如相机、浏览器等。

猜你喜欢

转载自blog.csdn.net/J675620982/article/details/71516509