2024年1月21日发(作者:)
广播事件处理
一.Broadcast Receiver
比如打电话等等;
广播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别,而广播事件处理机制是系统级别。
二.使用Broadcast Receiver
1.编写类继承BroadcaseReceiver,复写onReceiver()方法
2.在文件中注册BroadcaseReceiver
3.构建Intent对象
4.调用sendBroadcase()方法发送广播
三.BroadcaseReceiver生命周期
BroadcastReceiver对象仅在调用onReceive()方法时有效,当该方法执行完毕后,系统认为销毁该对象。
四.标准广播Action
五.注册Broadcast Receiver的方法
1.在文件中进行注册//有缺陷,不会因为Activity被销毁而销毁,一般不用
这里可以设置action为短信什么的:(需要权限)
//短信
eceiver android:name="bo">
android:name=" "/> 拍照 2.在应用程序的代码中进行注册 注册BroadcastReceiver registerReceiver() 取消注册BroadcastReceiver unregisterReceiver() 实例1: package o; import ; import ty; import ; import ; import ; import kListener; import ; public class MainActivity extends Activity { private Button btn1; @Override protected void onCreate(Bundle savedInstanceState) { te(savedInstanceState); setContentView(ty_main); btn1=(Button)findViewById(1); lickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent();//广播也是Intent来传递的 ion("_RECEIVED"); //设置action的值表示广播的类型,(name) sendBroadcast(intent);//把intent传递过来 } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(, menu); return true; } } package o; import astReceiver; import t; import ; import ; public class Myguanbo extends BroadcastReceiver { //写一个类继承BroadcastReceiver private static final String TAG = "Myservice"; public Secondrecvice(){ //复习里面的onReceive方法,可以在这里处理一些我们需要处理的消息 //假如这这消息是电话就能获取到电话信息,根据大家的需求在这里面写不同的方法 } Log.i(TAG, "2Receive"); } @Override public void onReceive(Context context, Intent intent) { Log.i(TAG, "onReceive"); } 实例2: package o; import recvice; import ; import ty; import ; import Filter; import ; import ; import kListener; import ; public class MainActivity extends Activity { private Button btn1,btn2,btn3; private Secondrecvice rec; @Override protected void onCreate(Bundle savedInstanceState) { te(savedInstanceState); setContentView(ty_main); btn1=(Button)findViewById(1); btn2=(Button)findViewById(2); btn3=(Button)findViewById(3); lickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent();//广播也是Intent来传递的 ion("_RECEIVED"); } }); lickListener(new OnClickListener() { @Override public void onClick(View v) { IntentFilter fitt=new IntentFilter(); rec=new Secondrecvice(); ion("_RECEIVED"); //设置action的值表示广播的类型,(name) sendBroadcast(intent);//把intent传递过来 //注册 registerReceiver(rec, fitt); //参数1,用来处理广播的receiver;参数2:intentfilter对象 } }); lickListener(new OnClickListener() { @Override public void onClick(View v) { unregisterReceiver(rec);//注销 } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(, menu); return true; } } package o; import astReceiver; import t; import ; import ; public class Myguanbo extends BroadcastReceiver { //写一个类继承BroadcastReceiver private static final String TAG = "Myservice"; public Secondrecvice(){ } package o; import astReceiver; import t; import ; import ; //复习里面的onReceive方法,可以在这里处理一些我们需要处理的消息 //假如这这消息是电话就能获取到电话信息,根据大家的需求在这里面写不同的方法 Log.i(TAG, "2Receive"); } @Override public void onReceive(Context context, Intent intent) { Log.i(TAG, "onReceive"); } public class Secondrecvice extends BroadcastReceiver { } //写一个类继承BroadcastReceiver private static final String TAG = "Myservice"; public Secondrecvice(){ //复习里面的onReceive方法,可以在这里处理一些我们需要处理的消息 //假如这这消息是电话就能获取到电话信息,根据大家的需求在这里面写不同的方法 Log.i(TAG, "2Receive"); } @Override public void onReceive(Context context, Intent intent) { //不能执行耗时的操作,它只存在1到2秒钟 Log.i(TAG, "2onReceive"); } 附录1: Android 广播事件 Intent Action 大全 ADD_SHORTCUT_ACTION 动作:在系统中添加一个快捷方式。. "_SHORTCUT" ALL_APPS_ACTION 动作:列举所有可用的应用。输入:无。 "_APPS" ALTERNATIVE_CATEGORY 类别:说明 activity 是用户正在浏览的数据的一个可选操作。 "ATIVE" ANSWER_ACTION 动作:处理拨入的电话。"" BATTERY_CHANGED_ACTION 广播:充电状态,或者电池的电量发生变化。 "Y_CHANGED" BOOT_COMPLETED_ACTION 广播:在系统启动后,这个动作被广播一次(只有一次)。 "_COMPLETED" BROWSABLE_CATEGORY 类别:能够被浏览器安全使用 的 activities 必须支持这个类别。 "BLE" BUG_REPORT_ACTION 动作:显示 activity 报告错误。 "_REPORT" 9. String CALL_ACTION 动作:拨打电话,被呼叫的联系人在数据中指定。 "" CALL_FORWARDING_STATE_CHANGED_ACTION 广播:语音电话的呼叫转移状态已经改变。 "" CLEAR_CREDENTIALS_ACTION 动作:清除登陆凭证 (credential)。 "_CREDENTIALS" CONFIGURATION_CHANGED_ACTION 广播:设备的配置信息已经改变,参见 uration. "URATION_CHANGED" Creator CREATOR 无 无 DATA_ACTIVITY_STATE_CHANGED_ACTION 广播:电话的数据活动(data activity)状态(即收发数据的状态)已经改变。 "_ACTIVITY" DATA_CONNECTION_STATE_CHANGED_ACTION 广播:电话的数据连接状态已经改变。"_STATE" DATE_CHANGED_ACTION 广播:日期被改变。 "_CHANGED" DEFAULT_ACTION 动作:和 VIEW_ACTION 相同,是在数据上执行的标准动作。 "" DEFAULT_CATEGORY 类别:如果 activity 是对数据执行确省动作(点击, center press)的一个选项,需要设置这个类别。 "T" DELETE_ACTION 动作:从容器中删除给定的数据。 "" DEVELOPMENT_PREFERENCE_CATEGORY 类别:说明 activity 是一个设置面板 (development preference panel). "PMENT_PREFERENCE" DIAL_ACTION 动作:拨打数据中指定的电话号码。 "" 21. String EDIT_ACTION 动作:为制定的数据显示可编辑界面。 "" EMBED_CATEGORY 类别:能够在上级(父)activity 中运行。 "" EMERGENCY_DIAL_ACTION 动作:拨打紧急电话号码。 "NCY_DIAL" FORWARD_RESULT_LAUNCH 启动标记:如果这个标记被设置,而且被一个已经存在的 activity 用来启动新的 activity,已有 activity 的回复目标 (reply target) 会被转移给新的 activity。16 0x00000010 FOTA_CANCEL_ACTION 广播:取消所有被挂起的 (pending) 更新下载。 "_CANCEL" FOTA_INSTALL_ACTION 广播:更新已经被确认,马上就要开始安装。 "_INSTALL" FOTA_READY_ACTION 广播:更新已经被下载,可以开始安装。 "_READY" FOTA_RESTART_ACTION 广播:恢复已经停止的更新下载。 "_RESTART" FOTA_UPDATE_ACTION 广播:通过 OTA 下载并安装操作系统更新。 "_UPDATE" FRAMEWORK_INSTRUMENTATION_TEST_CATEGORY 类别: To be used as code under test for framework instrumentation tests. "ORK_INSTRUMENTATION_TEST" 31. String GADGET_CATEGORY 类别:这个 activity 可以被嵌入宿主 activity (activity that is hosting gadgets)。 "" GET_CONTENT_ACTION 动作:让用户选择数据并返回。 "_CONTENT" HOME_CATEGORY 类别:主屏幕 (activity),设备启动后显示的第一个 activity。 "" INSERT_ACTION 动作:在容器中插入一个空项 (Item)。 "" INTENT_EXTRA 附加数据:和 PICK_ACTIVITY_ACTION 一起使用时,说明用户选择的用来显示的 activity;和 ADD_SHORTCUT_ACTION 一起使用的时候,描述要添加的快捷方式。 "" LABEL_EXTRA 附加数据:大写字母开头的字符标签,和 ADD_SHORTCUT_ACTION 一起使用。 "" LAUNCHER_CATEGORY 类别:Activity 应该被显示在顶级的 launcher 中。 "ER" LOGIN_ACTION 动作:获取登录凭 证。 "" MAIN_ACTION 动作:作为主入口点启动,不需要数 据。 "" MEDIABUTTON_ACTION 广播:用户按下了 “Media Button”。 "UTTON" MEDIA_BAD_REMOVAL_ACTION 广播:扩展介质(扩展卡)已经从 SD 卡插槽拔出,但是挂载点 (mount point) 还没解除 (unmount)。 "_BAD_REMOVAL" MEDIA_EJECT_ACTION 广播:用户想要移除扩展介质(拔掉扩展卡)。 "_EJECT" 43 String MEDIA_MOUNTED_ACTION 广播:扩展介质被插入,而且已经被挂载。 "_MOUNTED" MEDIA_REMOVED_ACTION 广播:扩展介质被移除。 "_REMOVED" MEDIA_SCANNER_FINISHED_ACTION 广播:已经扫描完介质的一个目录。 "_SCANNER_FINISHED" 46String MEDIA_SCANNER_STARTED_ACTION 广播:开始扫描介质的一个目录。 "_SCANNER_STARTED" 47. String MEDIA_SHARED_ACTION 广播:扩展介质的挂载被解除 (unmount),因为它已经作为 USB 大容量存储被共享。 "_SHARED" MEDIA_UNMOUNTED_ACTION 广播:扩展介质存在,但是还没有被挂载 (mount)。 "_UNMOUNTED" 49. String MESSAGE_WAITING_STATE_CHANGED_ACTION 广播:电话的消息等待(语音邮件)状态已经改变。 "" MULTIPLE_TASK_LAUNCH 启动标记:和 NEW_TASK_LAUNCH 联合使用,禁止将已有的任务改变为前景任务 (foreground)。 8 0x00000008 NETWORK_TICKLE_RECEIVED_ACTION 广播:设备 收到了新的网络 "tickle" 通知。 "K_TICKLE_RECEIVED" NEW_TASK_LAUNCH 启动标记:设置以后,activity 将成为历史堆栈中的第一个新任务(栈顶)。 4 0x00000004 int NO_HISTORY_LAUNCH 启动标记:设置以后,新的 activity 不会被保存在历史堆栈中。 1 0x00000001 53String PACKAGE_ADDED_ACTION 广播:设备上新安装了一个应用程序包。 "E_ADDED" PACKAGE_REMOVED_ACTION 广播:设备上删除了一个应用程序包。 "E_REMOVED" PHONE_STATE_CHANGED_ACTION 广播:电话状态已经改变。 "_STATE" PICK_ACTION 动作:从数据中选择一个项目 (item),将被选中的项目返回。 "" PICK_ACTIVITY_ACTION 动作:选择一个 activity,返回被选择的 activity 的类(名)。 "_ACTIVITY" PREFERENCE_CATEGORY 类别:activity是一个设置面板 (preference panel)。 "ENCE" PROVIDER_CHANGED_ACTION 广播:更新将要(真正)被安装。 "ER_CHANGED" PROVISIONING_CHECK_ACTION 广播:要求 polling of provisioning service 下载最新的设置。 "IONING_CHECK" RUN_ACTION 动作:运行数据(指定的应用),无论它(应用)是什么。 "" SAMPLE_CODE_CATEGORY 类别: To be used as an sample code example (not part of the normal user experience). "_CODE" SCREEN_OFF_ACTION 广播:屏幕被关闭。 "_OFF" SCREEN_ON_ACTION 广播:屏幕已经被打开。 "_ON" SELECTED_ALTERNATIVE_CATEGORY 类别:对于被用户选中的数据,activity 是它的一个可选操作。 "ED_ALTERNATIVE" SENDTO_ACTION 动作:向 data 指定的接收者发送一个消息。 "" SERVICE_STATE_CHANGED_ACTION 广播:电话服务的状态已经改变。 "E_STATE" SETTINGS_ACTION 动作:显示系统设置。输入:无。 "GS" SIGNAL_STRENGTH_CHANGED_ACTION 广播:电话的信号强度已经改变。 "_STR" SINGLE_TOP_LAUNCH 启动标记:设置以后,如果 activity 已经启动,而且位于历史堆栈的顶端,将不再启动(不重新启动) activity。 2 0x00000002 STATISTICS_REPORT_ACTION 广播:要求 receivers 报告自己的统计信息。 "TICS_REPORT" STATISTICS_STATE_CHANGED_ACTION 广播:统计信息服务的状态已经改变。 "TICS_STATE_CHANGED" SYNC_ACTION 动作:执行数据同步。 "" TAB_CATEGORY 类别:这个 activity 应该在 TabActivity 中作为一个 tab 使用。 "" 75. String TEMPLATE_EXTRA 附加数据:新记录的初始化模板。 "TE" TEST_CATEGORY 类别:作为测试目的使用,不是正常的用户体验的一部分。 "" 77. String TIMEZONE_CHANGED_ACTION 广播:时区已经改变。 "NE_CHANGED" TIME_CHANGED_ACTION 广播:时间已经改变(重新设置)。 "_SET" TIME_TICK_ACTION 广播:当前时间已经变化(正常的时间流逝)。 "_TICK" UMS_CONNECTED_ACTION 广播:设备进入 USB 大容量存储模式。 "_CONNECTED" UMS_DISCONNECTED_ACTION 广播:设备从 USB 大容量存储模式退出。 "_DISCONNECTED" 82. String UNIT_TEST_CATEGORY 类别:应该被用作单元测试(通过 test harness 运行)。 "_TEST" VIEW_ACTION 动作:向用户显示数据。 "" WALLPAPER_CATEGORY 类别:这个 activity 能过为设备设置墙纸。 "PER" WALLPAPER_CHANGED_ACTION 广播:系统的墙纸已经改变。 "PER_CHANGED" WALLPAPER_SETTINGS_ACTION 动作:显示选择墙纸的设置界面。输入:无。 "PER_SETTINGS" WEB_SEARCH_ACTION 动作:执行 web 搜索。 "_SEARCH" XMPP_CONNECTED_ACTION 广播:XMPP 连接已经被建立。 "_CONNECTED" XMPP_DISCONNECTED_ACTION 广播:XMPP 连接已经被断开。 "_DI 附录:2 String ADD_SHORTCUT_ACTION 动作:在系统中添加一个快捷方式。. “_SHORTCUT” String ALL_APPS_ACTION 动作:列举所有可用的应用。 输入:无。 “_APPS” String ALTERNATIVE_CATEGORY 类别:说明 activity 是用户正在浏览的数据的一个可选操作。 “ATIVE” String ANSWER_ACTION 动作:处理拨入的电话。 “” String BATTERY_CHANGED_ACTION 广播:充电状态,或者电池的电量发生变化。 “Y_CHANGED” String BOOT_COMPLETED_ACTION 广播:在系统启动后。 这个动作被广播一次(只有一次)。 “_COMPLETED” String BROWSABLE_CATEGORY 类别:能够被浏览器安全使用的 activities 必须支持这个类别。 “BLE” String BUG_REPORT_ACTION 动作:显示 activity 报告错误。 “_REPORT” String CALL_ACTION 动作:拨打电话。 被呼叫的联系人在数据中指定。 “” String CALL_FORWARDING_STATE_CHANGED_ACTION 广播:语音电话的呼叫转移状态已经改变。 “” String CLEAR_CREDENTIALS_ACTION 动作:清除登陆凭证 (credential)。 “_CREDENTIALS” String CONFIGURATION_CHANGED_ACTION 广播:设备的配置信息已经改变,参见 uration. “URATION_CHANGED” Creator CREATOR 无 无 String DATA_ACTIVITY_STATE_CHANGED_ACTION 广播:电话的数据活动(data activity)状态(即收发数据的状态)已经改变。 “_ACTIVITY” String DATA_CONNECTION_STATE_CHANGED_ACTION 广播:电话的数据连接状态已经改变。 “_STATE” String DATE_CHANGED_ACTION 广播:日期被改变。 “_CHANGED” String DEFAULT_ACTION 动作:和 VIEW_ACTION 相同,是在数据上执行的标准动作。 “” String DEFAULT_CATEGORY 类别:如果 activity 是对数据执行确省动作(点击, center press)的一个选项,需要设置这个类别。 “T” String DELETE_ACTION 动作:从容器中删除给定的数据。 “” String DEVELOPMENT_PREFERENCE_CATEGORY 类别:说明 activity 是一个设置面板 (development preference panel). “PMENT_PREFERENCE” String DIAL_ACTION 动作:拨打数据中指定的电话号码。 “” String EDIT_ACTION 动作:为制定的数据显示可编辑界面。 “” String EMBED_CATEGORY 类别:能够在上级(父)activity 中运行。 “” String EMERGENCY_DIAL_ACTION 动作:拨打紧急电话号码。 “NCY_DIAL” int FORWARD_RESULT_LAUNCH 启动标记:如果这个标记被设置。 而且被一个已经存在的 activity 用来启动新的 activity,已有 activity 的回复目标 (reply target) 会被转移给新的 activity。 16 0×00000010 String FOTA_CANCEL_ACTION 广播:取消所有被挂起的 (pending) 更新下载。 “_CANCEL” String FOTA_INSTALL_ACTION 广播:更新已经被确认,马上就要开始安装。 “_INSTALL” String FOTA_READY_ACTION 广播:更新已经被下载。 可以开始安装。 “_READY” String FOTA_RESTART_ACTION 广播:恢复已经停止的更新下载。 “_RESTART” String FOTA_UPDATE_ACTION 广播:通过 OTA 下载并安装操作系统更新。 “_UPDATE” String FRAMEWORK_INSTRUMENTATION_TEST_CATEGORY 类别:To be used as code under test for framework instrumentation tests. “ORK_INSTRUMENTATION _TEST” String GADGET_CATEGORY 类别:这个 activity 可以被嵌入宿主 activity (activity that is hosting gadgets)。 “” String GET_CONTENT_ACTION 动作:让用户选择数据并返回。 “_CONTENT” String HOME_CATEGORY 类别:主屏幕 (activity)。 设备启动后显示的第一个 activity。 “” String INSERT_ACTION 动作:在容器中插入一个空项 (item)。 “” String INTENT_EXTRA 附加数据:和 PICK_ACTIVITY_ACTION 一起使用时,说明用户选择的用来显示的 activity;和 ADD_SHORTCUT_ACTION 一起使用的时候,描述要添加的快捷方式。 “” String LABEL_EXTRA 附加数据:大写字母开头的字符标签,和 ADD_SHORTCUT_ACTION 一起使用。 “” String LAUNCHER_CATEGORY 类别:Activity 应该被显示在顶级的 launcher 中。 “ER” String LOGIN_ACTION 动作:获取登录凭证。 “” String MAIN_ACTION 动作:作为主入口点启动,不需要数据。 “” String MEDIABUTTON_ACTION 广播:用户按下了“Media Button”。 “UTTON” String MEDIA_BAD_REMOVAL_ACTION 广播:扩展介质(扩展卡)已经从 SD 卡插槽拔出,但是挂载点 (mount point) 还没解除 (unmount)。 “_BAD_REMOVAL” String MEDIA_EJECT_ACTION 广播:用户想要移除扩展介质(拔掉扩展卡)。 “_EJECT” String MEDIA_MOUNTED_ACTION 广播:扩展介质被插入,而且已经被挂载。 “_MOUNTED” String MEDIA_REMOVED_ACTION 广播:扩展介质被移除。 “_REMOVED” String MEDIA_SCANNER_FINISHED_ACTION 广播:已经扫描完介质的一个目录。 “_SCANNER_FINISHED” String MEDIA_SCANNER_STARTED_ACTION 广播:开始扫描介质的一个目录。 “_SCANNER_STARTED” String MEDIA_SHARED_ACTION 广播:扩展介质的挂载被解除 (unmount)。 因为它已经作为 USB 大容量存储被共享。 “_SHARED” String MEDIA_UNMOUNTED_ACTION 广播:扩展介质存在,但是还没有被挂载 (mount)。 “_UNMOUNTED” String MESSAGE_WAITING_STATE_CHANGED_ACTION 广播:电话的消息等待(语音邮件)状态已经改变。 “” int MULTIPLE_TASK_LAUNCH 启动标记:和 NEW_TASK_LAUNCH 联合使用。 禁止将已有的任务改变为前景任务 (foreground)。 8 0×00000008 String NETWORK_TICKLE_RECEIVED_ACTION 广播:设备收到了新的网络 “tickle” 通知。 “K_TICKLE_RECEIVED” int NEW_TASK_LAUNCH 启动标记:设置以后,activity 将成为历史堆栈中的第一个新任务(栈顶)。 4 0×00000004 int NO_HISTORY_LAUNCH 启动标记:设置以后,新的 activity 不会被保存在历史堆栈中。 1 0×00000001 String PACKAGE_ADDED_ACTION 广播:设备上新安装了一个应用程序包。 “E_ADDED” String PACKAGE_REMOVED_ACTION 广播:设备上删除了一个应用程序包。 “E_REMOVED” String PHONE_STATE_CHANGED_ACTION 广播:电话状态已经改变。 “_STATE” String PICK_ACTION 动作:从数据中选择一个项目 (item),将被选中的项目返回。 “” String PICK_ACTIVITY_ACTION 动作:选择一个 activity,返回被选择的 activity 的类(名)。 “_ACTIVITY” String PREFERENCE_CATEGORY 类别:activity是一个设置面板 (preference panel)。 “ENCE” String PROVIDER_CHANGED_ACTION 广播:更新将要(真正)被安装。 “ER_CHANGED” String PROVISIONING_CHECK_ACTION 广播:要求 polling of provisioning service 下载最新的设置。 “IONING_CHECK” String RUN_ACTION 动作:运行数据(指定的应用),无论它(应用)是什么。 “” String SAMPLE_CODE_CATEGORY 类别:To be used as an sample code example (not part of the normal user experience). “_CODE” String SCREEN_OFF_ACTION 广播:屏幕被关闭。 “_OFF” String SCREEN_ON_ACTION 广播:屏幕已经被打开。 “_ON” String SELECTED_ALTERNATIVE_CATEGORY 类别:对于被用户选中的数据。 activity 是它的一个可选操作。 “ED_ALTERNATIVE” String SENDTO_ACTION 动作:向 data 指定的接收者发送一个消息。 “” String SERVICE_STATE_CHANGED_ACTION 广播:电话服务的状态已经改变。 “E_STATE” String SETTINGS_ACTION 动作:显示系统设置。输入:无。 “GS” String SIGNAL_STRENGTH_CHANGED_ACTION 广播:电话的信号强度已经改变。 “_STR” int SINGLE_TOP_LAUNCH 启动标记:设置以后,如果 activity 已经启动。 而且位于历史堆栈的顶端,将不再启动(不重新启动) activity。 2 0×00000002 String STATISTICS_REPORT_ACTION 广播:要求 receivers 报告自己的统计信息。 “TICS_REPORT” String STATISTICS_STATE_CHANGED_ACTION 广播:统计信息服务的状态已经改变。 “TICS_STATE_CHANGED” String SYNC_ACTION 动作:执行数据同步。 “” String TAB_CATEGORY 类别:这个 activity 应该在 TabActivity 中作为一个 tab 使用。 “” String TEMPLATE_EXTRA 附加数据:新记录的初始化模板。 “TE” String TEST_CATEGORY 类别:作为测试目的使用,不是正常的用户体验的一部分。 “” String TIMEZONE_CHANGED_ACTION 广播:时区已经改变。 “NE_CHANGED” String TIME_CHANGED_ACTION 广播:时间已经改变(重新设置)。 “_SET” String TIME_TICK_ACTION 广播:当前时间已经变化(正常的时间流逝)。 “_TICK” String UMS_CONNECTED_ACTION 广播:设备进入 USB 大容量存储模式。 “_CONNECTED” String UMS_DISCONNECTED_ACTION 广播:设备从 USB 大容量存储模式退出。 “_DISCONNECTED” String UNIT_TEST_CATEGORY 类别:应该被用作单元测试(通过 test harness 运行)。 “_TEST” String VIEW_ACTION 动作:向用户显示数据。 “” String WALLPAPER_CATEGORY 类别:这个 activity 能过为设备设置墙纸。 “PER” String WALLPAPER_CHANGED_ACTION 广播:系统的墙纸已经改变。 “PER_CHANGED” String WALLPAPER_SETTINGS_ACTION 动作:显示选择墙纸的设置界面。输入:无。 “PER_SETTINGS” String WEB_SEARCH_ACTION 动作:执行 web 搜索。 “_SEARCH” String XMPP_CONNECTED_ACTION 广播:XMPP 连接已经被建立。 “_CONNECTED” String XMPP_DISCONNECTED_ACTION 广播:XMPP 连接已经被断开。 “_DI ============================================================================= Activity总是要来回跳转的,发现积累个ACTION列表是必要的... 1. 电话 (1) 拔打一个号码,号码为传入参数 TelephonyManager tm = (TelephonyManager) getSystemService(ONY_SERVICE); if (lState() == _STATE_IDLE) { //其实,这个可以不要的,只是判断一下当前phone的状态,如果为IDLE,才允许呼叫~ Intent callIntent = new Intent(_CALL_PRIVILEGED,rts("tel", mNumber, null)); startActivity(callIntent); } 2. 短信 (1) 发送短信给一个号码,号码为传入参数 Intent SMSIntent = new Intent(_SENDTO, rts(_SMSTO, null)); startActivity(SMSIntent); Number, (2) 通过短信将一个内容发送出去,内容为传入参数 Intent sendIntent = new Intent(_SEND); e("text/plain"); ra("sms_body", "sms body"); //这个。。有可能系统会让选择用蓝牙还是信息 3. 附:2.2源码中的ACTION定义 androidsrc> grep ACTION_ frameworks/base/core/java/android/content/ | grep String public static final String ACTION_MAIN = ""; public static final String ACTION_VIEW = ""; public static final String ACTION_DEFAULT = ACTION_VIEW; public static final String ACTION_ATTACH_DATA = "_DATA"; public static final String ACTION_EDIT = ""; public static final String ACTION_INSERT_OR_EDIT = "_OR_EDIT"; public static final String ACTION_PICK = ""; public static final String ACTION_CREATE_SHORTCUT = "_SHORTCUT"; public static final String ACTION_CHOOSER = "R"; public static final String ACTION_GET_CONTENT = "_CONTENT"; public static final String ACTION_DIAL = ""; public static final String ACTION_CALL = ""; public static final String ACTION_CALL_EMERGENCY = "_EMERGENCY"; public static final String ACTION_CALL_PRIVILEGED = "_PRIVILEGED"; public static final String ACTION_IP_CALL_PRIVILEGED = "_CALL_PRIVILEGED"; public static final String ACTION_SENDTO = ""; public static final String ACTION_SEND = ""; public static final String ACTION_SEND_MULTIPLE = "_MULTIPLE"; public static final String ACTION_ANSWER = ""; public static final String ACTION_INSERT = ""; public static final String ACTION_DELETE = ""; public static final String ACTION_RUN = ""; public static final String ACTION_SYNC = ""; public static final String ACTION_PICK_ACTIVITY "_ACTIVITY"; public static final String ACTION_SEARCH ""; public static final String ACTION_SYSTEM_TUTORIAL "_TUTORIAL"; public static final String ACTION_WEB_SEARCH = = = = "_SEARCH"; public static final String ACTION_ALL_APPS "_APPS"; public static final String ACTION_SET_WALLPAPER "_WALLPAPER"; public static final String ACTION_BUG_REPORT "_REPORT"; public static final String ACTION_FACTORY_TEST "Y_TEST"; public static final String ACTION_CALL_BUTTON "_BUTTON"; public static final String ACTION_VOICE_COMMAND "_COMMAND"; public static final String ACTION_SEARCH_LONG_PRESS "_LONG_PRESS"; public static final String ACTION_APP_ERROR "_ERROR"; public static final String ACTION_POWER_USAGE_SUMMARY "_USAGE_SUMMARY"; public static final String ACTION_UPGRADE_SETUP "E_SETUP"; public static final String ACTION_SCREEN_OFF "_OFF"; public static final String ACTION_SCREEN_ON "_ON"; public static final String ACTION_USER_PRESENT "_PRESENT"; public static final String ACTION_TIME_TICK "_TICK"; public static final String ACTION_TIME_CHANGED "_SET"; public static final String ACTION_DATE_CHANGED "_CHANGED"; public static final String ACTION_TIMEZONE_CHANGED "NE_CHANGED"; public static final String ACTION_ALARM_CHANGED "_CHANGED"; public static final String ACTION_SYNC_STATE_CHANGED public static final String ACTION_BOOT_COMPLETED "_COMPLETED"; public static final String ACTION_CLOSE_SYSTEM_DIALOGS "_SYSTEM_DIALOGS"; public static final String ACTION_PACKAGE_INSTALL "E_INSTALL"; = = = = = = = = = = = = = = = = = = = = = public static final String ACTION_PACKAGE_ADDED = "E_ADDED"; public static final String ACTION_PACKAGE_REPLACED = "E_REPLACED"; public static final String ACTION_PACKAGE_REMOVED = "E_REMOVED"; public static final String ACTION_PACKAGE_CHANGED = "E_CHANGED"; public static final String ACTION_QUERY_PACKAGE_RESTART = "_PACKAGE_RESTART"; public static final String ACTION_PACKAGE_RESTARTED = "E_RESTARTED"; public static final String ACTION_PACKAGE_DATA_CLEARED = "E_DATA_CLEARED"; public static final String ACTION_UID_REMOVED = "_REMOVED"; public static final String ACTION_EXTERNAL_APPLICATIONS_AVAILABLE = public static final String ACTION_EXTERNAL_APPLICATIONS_UNAVAILABLE = public static final String ACTION_WALLPAPER_CHANGED = "PER_CHANGED"; public static final String ACTION_CONFIGURATION_CHANGED = "URATION_CHANGED"; public static final String ACTION_LOCALE_CHANGED = "_CHANGED"; public static final String ACTION_BATTERY_CHANGED = "Y_CHANGED"; public static final String ACTION_BATTERY_LOW = "Y_LOW"; public static final String ACTION_BATTERY_OKAY = "Y_OKAY"; public static final String ACTION_POWER_CONNECTED = "_POWER_CONNECTED"; public static final String ACTION_POWER_DISCONNECTED = public static final String ACTION_SHUTDOWN = "_SHUTDOWN"; public static final String ACTION_REQUEST_SHUTDOWN = "_REQUEST_SHUTDOWN"; public static final String ACTION_DEVICE_STORAGE_LOW "_STORAGE_LOW"; public static final String ACTION_DEVICE_STORAGE_OK "_STORAGE_OK"; public static final String ACTION_MANAGE_PACKAGE_STORAGE "_PACKAGE_STORAGE"; public static final String ACTION_UMS_CONNECTED = = = = "_CONNECTED"; public static final String ACTION_UMS_DISCONNECTED "_DISCONNECTED"; public static final String ACTION_MEDIA_REMOVED "_REMOVED"; public static final String ACTION_MEDIA_UNMOUNTED "_UNMOUNTED"; public static final String ACTION_MEDIA_CHECKING "_CHECKING"; public static final String ACTION_MEDIA_NOFS "_NOFS"; public static final String ACTION_MEDIA_MOUNTED "_MOUNTED"; public static final String ACTION_MEDIA_SHARED "_SHARED"; public static final String ACTION_MEDIA_UNSHARED "_UNSHARED"; public static final String ACTION_MEDIA_BAD_REMOVAL "_BAD_REMOVAL"; public static final String ACTION_MEDIA_UNMOUNTABLE "_UNMOUNTABLE"; public static final String ACTION_MEDIA_EJECT "_EJECT"; public static final String ACTION_MEDIA_SCANNER_STARTED "_SCANNER_STARTED"; public static final String ACTION_MEDIA_SCANNER_FINISHED "_SCANNER_FINISHED"; public static final String ACTION_MEDIA_SCANNER_SCAN_FILE "_SCANNER_SCAN_FILE"; public static final String ACTION_MEDIA_BUTTON "_BUTTON"; public static final String ACTION_CAMERA_BUTTON "_BUTTON"; public static final String ACTION_GTALK_SERVICE_CONNECTED = public static final String ACTION_GTALK_SERVICE_DISCONNECTED = public static final String ACTION_INPUT_METHOD_CHANGED = public static final String ACTION_AIRPLANE_MODE_CHANGED "NE_MODE"; public static final String ACTION_PROVIDER_CHANGED = public static final String ACTION_HEADSET_PLUG = public static final String ACTION_NEW_OUTGOING_CALL = public static final String ACTION_REBOOT = public static final String ACTION_DOCK_EVENT = public static final String ACTION_REMOTE_INTENT = = = = = = = = = = = = = = = = = = public static final String ACTION_PRE_BOOT_COMPLETED = 标准的Activity Actions ACTION_MAIN 作为一个主要的进入口,而并不期望去接受数据 ACTION_VIEW 向用户去显示数据 ACTION_ATTACH_DATA 别用于指定一些数据应该附属于一些其他的地方,例如,图片数据应该附属于联系人 ACTION_EDIT 访问已给的数据,提供明确的可编辑 ACTION_PICK 从数据中选择一个子项目,并返回你所选中的项目 ACTION_CHOOSER 显示一个activity选择器,允许用户在进程之前选择他们想要的 ACTION_GET_CONTENT 允许用户选择特殊种类的数据,并返回(特殊种类的数据:照一张相片或录一段音) ACTION_DIAL 拨打一个指定的号码,显示一个带有号码的用户界面,允许用户去启动呼叫 ACTION_CALL 根据指定的数据执行一次呼叫 (ACTION_CALL在应用中启动一次呼叫有缺陷,多数应用ACTION_DIAL,ACTION_CALL不能用在紧急呼叫上,紧急呼叫可以用ACTION_DIAL来实现) ACTION_SEND 传递数据,被传送的数据没有指定,接收的action请求用户发数据 ACTION_SENDTO 发送一跳信息到指定的某人 ACTION_ANSWER 处理一个打进电话呼叫 ACTION_INSERT 插入一条空项目到已给的容器 ACTION_DELETE 从容器中删除已给的数据 ACTION_RUN 运行数据,无论怎么 ACTION_SYNC 同步执行一个数据 ACTION_PICK_ACTIVITY 为已知的Intent选择一个Activity,返回别选中的类 ACTION_SEARCH 执行一次搜索 ACTION_WEB_SEARCH 执行一次web搜索 ACTION_FACTORY_TEST 工场测试的主要进入点, 标准的广播Actions ACTION_TIME_TICK 当前时间改变,每分钟都发送,不能通过组件声明来接收,只有通过erReceiver()方法来注册 ACTION_TIME_CHANGED 时间被设置 ACTION_TIMEZONE_CHANGED 时间区改变 ACTION_
发布评论