intent.getAction()

这个是发送端注册上的
IntentFilter filter = new IntentFilter(
Intent.ACTION_MEDIA_SCANNER_STARTED);
filter.addAction(Intent.ACTION_MEDIA_SCANNER_FINISHED);
这个是接受端的
String action=intent.getAction();
if (Intent.ACTION_MEDIA_SCANNER_STARTED.equals(action)){
}
解释:
首先要明白,系统预定义的动作,也就是action都是静态的字符串类型常量,相当于一个人的名字一样,虽然叫动作,
并不代表一定会做什么事,只是可以通过这些名字去开启一些和这些动作相关的activity。
if的意识是说如果接收到的action,恰好与某一个预定义的字符串常量相等,系统就会明白发送端注册了Intent.ACTION_MEDIA_SCANNER_STARTED
这个Action,然后就在发送端和接收端建立了联系,action的一个重要作用,就是标示特定的activity,
系统预定义的activity就是标识系统预装的一些小程序或界面,比如打电话的界面,网页浏览器,还有像你上面的媒体扫描器等。
原文地址:https://www.cnblogs.com/yaya-Android/p/4099484.html