这个是发送端注册上的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就是标识系统预装的一些小程序或界面,比如打电话的界面,网页浏览器,还有像你上面的媒体扫描器等。
时间: 2024-08-25 05:19:59