android简单的广播事件处理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

android简单的⼴播事件处理
⼴播事件处理
⼀.Broadcast Receiver
⽐如打电话等等;
⼴播接收器,它和事件处理机制类似,只不过事件处理机制是程序组件级别,⽽⼴播事件处理机制是系统级别。

⼆.使⽤Broadcast Receiver
1.编写类继承BroadcaseReceiver,复写onReceiver()⽅法
2.在AndroidManifest.xml⽂件中注册BroadcaseReceiver
3.构建Intent对象
4.调⽤sendBroadcase()⽅法发送⼴播
三.BroadcaseReceiver⽣命周期
BroadcastReceiver对象仅在调⽤onReceive()⽅法时有效,当该⽅法执⾏完毕后,系统认为销毁该对象。

四.标准⼴播Action
五.注册Broadcast Receiver的⽅法
1.在AndroidManifest.xml⽂件中进⾏注册//有缺陷,不会因为Activity被销毁⽽销毁,⼀般不⽤
//设置⼴播类型
这⾥可以设置action为短信什么的:(需要权限)
//短信
eceiver android:name="com.qmk.guangbo.Myguanbo">
android:name=""/>
拍照
2.在应⽤程序的代码中进⾏注册
注册BroadcastReceiver
registerReceiver()
取消注册BroadcastReceiver
unregisterReceiver()
实例1:
MainActivity.java
package com.example.guangbo;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button btn1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(/doc/1a80afbdf61fb7360b4c6595.html yout.activity_main);
btn1=(Button)findViewById(R.id.btn1);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent();//⼴播也是Intent来传递的intent.setAction("android.provider.Telephony.SMS_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(R.menu.main, menu);
return true;
}
}
Myguanbo.java
package com.qmk.guangbo;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
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:
MainActivity.java
package com.example.guangbo;
import com.qmk.guangbo.Secondrecvice;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.IntentFilter;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
private Button btn1,btn2,btn3;
private Secondrecvice rec;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(/doc/1a80afbdf61fb7360b4c6595.html yout.activity_main); btn1=(Button)findViewById(R.id.btn1);
btn2=(Button)findViewById(R.id.btn2);
btn3=(Button)findViewById(R.id.btn3);
btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent();//⼴播也是Intent来传递的intent.setAction("android.provider.Telephony.SMS_RECEIVED"); //设置action的值表⽰⼴播的类型,(name)
sendBroadcast(intent);//把intent传递过来
}
});
btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
IntentFilter fitt=new IntentFilter();
rec=new Secondrecvice();
fitt.addAction("android.provider.Telephony.SMS_RECEIVED");
//注册
registerReceiver(rec, fitt);
//参数1,⽤来处理⼴播的receiver;参数2:intentfilter对象
}
});
btn3.setOnClickListener(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(R.menu.main, menu);
return true;
}
}
Myguanbo.java
package com.qmk.guangbo;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
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");
}
}
Secondrecvice.java
package com.qmk.guangbo;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
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 ⼤全
1.String ADD_SHORTCUT_ACTION 动作:在系统中添加⼀个快捷⽅式。

. "android.intent.action.ADD_SHORTCUT"
2.String ALL_APPS_ACTION 动作:列举所有可⽤的应⽤。

输⼊:⽆。

"android.intent.action.ALL_APPS"
3.String ALTERNA TIVE_CATEGORY 类别:说明 activity 是⽤户正在浏览的数据的⼀个可选操作。

"android.intent.category.ALTERNATIVE"
4.String ANSWER_ACTION 动作:处理拨⼊的电话。

"android.intent.action.ANSWER"
5.String BATTERY_CHANGED_ACTION ⼴播:充电状态,或者电池的电量发⽣变化。

"android.intent.action.BA
TTERY_CHANGED"
6.String BOOT_COMPLETED_ACTION ⼴播:在系统启动后,这个动作被⼴播⼀次(只有⼀次)。

"android.intent.action.BOOT_COMPLETED"
7.String BROWSABLE_CA TEGORY 类别:能够被浏览器安全使⽤
的 activities 必须⽀持这个类别。

"android.intent.category.BROWSABLE"
8.String BUG_REPORT_ACTION 动作:显⽰ activity 报告错误。

"android.intent.action.BUG_REPORT"
9. String CALL_ACTION 动作:拨打电话,被呼叫的联系⼈在数据中指定。

"android.intent.action.CALL"
10.String CALL_FORWARDING_STATE_CHANGED_ACTION ⼴播:语⾳电话的呼叫转移状态已经改变。

"android.intent.action.CFF"
11.String CLEAR_CREDENTIALS_ACTION 动作:清除登陆凭证 (credential)。

"android.intent.action.CLEAR_CREDENTIALS"
12.String CONFIGURATION_CHANGED_ACTION ⼴播:设备的配置信息已经改变,参见 Resources.Configuration. "android.intent.action.CONFIGURATION_CHANGED" Creator CR EATOR ⽆⽆
13.String DATA_ACTIVITY_STA TE_CHANGED_ACTION ⼴播:电话的数据活动(data activity)状态(即收发数据的状态)已经改变。

"android.intent.action.DATA_ACTIVITY"
14.String DATA_CONNECTION_STATE_CHANGED_ACTION ⼴播:电话的数据连接状态已经改变。

"android.intent.action.DATA_STATE"
15.String DATE_CHANGED_ACTION ⼴播:⽇期被改变。

"android.intent.action.DATE_CHANGED"
16.String DEFAULT_ACTION 动作:和 VIEW_ACTION 相同,是在数据上执⾏的标准动作。

"android.intent.action.VIEW"
17.String DEFAULT_CATEGORY 类别:如果 activity 是对数据执⾏确省动作(点击, center press)的⼀个选项,需要设置这个类别。

"android.intent.category.DEFAULT" 18.String DELETE_ACTION 动作:从容器中删除给定的数据。

"android.intent.action.DELETE"
19.String DEVELOPMENT_PREFERENCE_CATEGORY 类别:说明 activity 是⼀个设置⾯板 (development preference panel). "android.intent.category.DEVELOPMENT_PREFERENCE"
20.String DIAL_ACTION 动作:拨打数据中指定的电话号码。

"android.intent.action.DIAL"
21. String EDIT_ACTION 动作:为制定的数据显⽰可编辑界⾯。

"android.intent.action.EDIT"
22.String EMBED_CATEGORY 类别:能够在上级(⽗)activity 中运⾏。

"android.intent.category.EMBED"
23.String EMERGENCY_DIAL_ACTION 动作:拨打紧急电话号码。

"android.intent.action.EMERGENCY_DIAL"
24.int FORWARD_RESULT_LAUNCH 启动标记:如果这个标记被设置,⽽且被⼀个已经存在的 activity ⽤来启动新的activity,已有 activity 的回复⽬标 (reply target) 会被转移给新的 activity。

16 0x00000010
25.String FOTA_CANCEL_ACTION ⼴播:取消所有被挂起的 (pending) 更新下载。

"android.server.checkin.FOTA_CANCEL"
26.String FOTA_INSTALL_ACTION ⼴播:更新已经被确认,马上就要开始安装。

"android.server.checkin.FOTA_INSTALL"
27.String FOTA_READY_ACTION ⼴播:更新已经被下载,可以开始安装。

"android.server.checkin.FOTA_READY"
28.String FOTA_RESTART_ACTION ⼴播:恢复已经停⽌的更新下载。

"android.server.checkin.FOTA_RESTART"
29.String FOTA_UPDATE_ACTION ⼴播:通过 OTA 下载并安装操作系统更新。

"android.server.checkin.FOTA_UPDATE"
30.String FRAMEWORK_INSTRUMENTATION_TEST_CATEGORY 类别:
To be used as code under test for framework instrumentation tests.
"android.intent.category.FRAMEWORK_INSTRUMENTATION_TEST"
31.String GADGET_CA TEGORY 类别:这个 activity 可以被嵌⼊宿主 activity (activity that is hosting gadgets)。

"android.intent.category.GADGET"
32.String GET_CONTENT_ACTION 动作:让⽤户选择数据并返回。

"android.intent.action.GET_CONTENT"
33.String HOME_CA TEGORY 类别:主屏幕 (activity),设备启动后显⽰的第⼀个 activity。

"android.intent.category.HOME"
34.String INSERT_ACTION 动作:在容器中插⼊⼀个空项 (Item)。

"android.intent.action.INSERT"
35.String INTENT_EXTRA 附加数据:和
PICK_ACTIVITY_ACTION ⼀起使⽤时,说明⽤户选择的⽤来显⽰的 activity;和 ADD_SHORTCUT_ACTION ⼀起使⽤的时候,描述要添加的快捷⽅式。

"android.intent.extra.INTENT"
36.String LABEL_EXTRA 附加数据:⼤写字母开头的字符标签,和 ADD_SHORTCUT_ACTION ⼀起使⽤。

"/doc/1a80afbdf61fb7360b4c6595.html BEL"
37.String LAUNCHER_CATEGORY 类别:Activity 应该被显⽰在顶级的 launcher 中。

"/doc/1a80afbdf61fb7360b4c6595.html UNCHER"
38.String LOGIN_ACTION 动作:获取登录凭
证。

"android.intent.action.LOGIN"
39.String MAIN_ACTION 动作:作为主⼊⼝点启动,不需要数
据。

"android.intent.action.MAIN"
40.String MEDIABUTTON_ACTION ⼴播:⽤户按下了
“Media Button”。

"android.intent.action.MEDIABUTTON"
41.String MEDIA_BAD_REMOV AL_ACTION ⼴播:扩展介质(扩展卡)已经从 SD 卡插槽拔出,但是挂载点 (mount point)还没解除 (unmount)。

"android.intent.action.MEDIA_BAD_REMOV AL"
42.String MEDIA_EJECT_ACTION ⼴播:⽤户想要移除扩展介质(拔掉扩展卡)。

"android.intent.action.MEDIA_EJECT"
43 String MEDIA_MOUNTED_ACTION ⼴播:扩展介质被插⼊,⽽且已经被挂载。

"android.intent.action.MEDIA_MOUNTED"
44.String MEDIA_REMOVED_ACTION ⼴播:扩展介质被移除。

"android.intent.action.MEDIA_REMOVED"
45.String MEDIA_SCANNER_FINISHED_ACTION ⼴播:已经扫描完介质的⼀个⽬录。

"android.intent.action.MEDIA_SCANNER_FINISHED"
46String MEDIA_SCANNER_STARTED_ACTION ⼴播:开始扫描介质的⼀个⽬录。

"android.intent.action.MEDIA_SCANNER_STARTED"
47. String MEDIA_SHARED_ACTION ⼴播:扩展介质的挂载被解除 (unmount),因为它已经作为 USB ⼤容量存储被共享。

"android.intent.action.MEDIA_SHARED"
48.String MEDIA_UNMOUNTED_ACTION ⼴播:扩展介质存在,但是还没有被挂载 (mount)。

"android.intent.action.MEDIA_UNMOUNTED"
49. String MESSAGE_W AITING_STA TE_CHANGED_ACTION ⼴播:电话的消息等待(语⾳邮件)状态已经改变。

"android.intent.action.MWI"
50.int MULTIPLE_TASK_LAUNCH 启动标记:和 NEW_TASK_LAUNCH 联合使⽤,禁⽌将已有的任务改变为前景任务(foreground)。

8 0x00000008
51.String NETWORK_TICKLE_RECEIVED_ACTION ⼴播:设备
收到了新的⽹络 "tickle" 通知。

"/doc/1a80afbdf61fb7360b4c6595.html WORK_TICKLE_RECEIVED"
52.int NEW_TASK_LAUNCH 启动标记:设置以后,activity 将成为历史堆栈中的第⼀个新任务(栈顶)。

4 0x00000004 int NO_HISTORY_LAUNCH 启动标记:设置以后,新的 activity 不会被保存在历史堆栈中。

1 0x00000001 53String PACKAGE_ADDED_ACTION ⼴播:设备上新安装了⼀个应⽤程序包。

"android.intent.action.PACKAGE_ADDED"
54.String PACKAGE_REMOVED_ACTION ⼴播:设备上删除了⼀个应⽤程序包。

"android.intent.action.PACKAGE_REMOVED"
55.String PHONE_STATE_CHANGED_ACTION ⼴播:电话状态已经改变。

"android.intent.action.PHONE_STATE"
56.String PICK_ACTION 动作:从数据中选择⼀个项⽬ (item),将被选中的项⽬返回。

"android.intent.action.PICK"
57.String PICK_ACTIVITY_ACTION 动作:选择⼀个 activity,返回被选择的 activity 的类(名)。

"android.intent.action.PICK_ACTIVITY"
58.String PREFERENCE_CATEGORY 类别:activity是⼀个设置⾯板 (preference panel)。

"android.intent.category.PREFERENCE"
59.String PROVIDER_CHANGED_ACTION ⼴播:更新将要(真正)被安装。

"android.intent.action.PROVIDER_CHANGED"
60.String PROVISIONING_CHECK_ACTION ⼴播:要求 polling of provisioning service 下载最新的设置。

"android.intent.action.PROVISIONING_CHECK"
61.String RUN_ACTION 动作:运⾏数据(指定的应⽤),⽆论它(应⽤)是什么。

"android.intent.action.RUN"
62.String SAMPLE_CODE_CA TEGORY 类别:
To be used as an sample code example (not part of the normal user experience).
"android.intent.category.SAMPLE_CODE"
63.String SCREEN_OFF_ACTION ⼴播:屏幕被关闭。

"android.intent.action.SCREEN_OFF"
64.String SCREEN_ON_ACTION ⼴播:屏幕已经被打开。

"android.intent.action.SCREEN_ON"
65.String SELECTED_ALTERNA TIVE_CATEGORY 类别:对于被⽤户选中的数据,activity 是它的⼀个可选操作。

"android.intent.category.SELECTED_ALTERNATIVE"
66.String SENDTO_ACTION 动作:向 data 指定的接收者发送⼀个消息。

"android.intent.action.SENDTO"
67.String SERVICE_STA TE_CHANGED_ACTION ⼴播:电话服务的状态已经改变。

"android.intent.action.SERVICE_STATE"
68.String SETTINGS_ACTION 动作:显⽰系统设置。

输⼊:⽆。

"android.intent.action.SETTINGS"
69.String SIGNAL_STRENGTH_CHANGED_ACTION ⼴播:电话的信号强度已经改变。

"android.intent.action.SIG_STR"
70.int SINGLE_TOP_LAUNCH 启动标记:设置以后,如果 activity 已经启动,⽽且位于历史堆栈的顶端,将不再启动(不重新启动) activity。

2 0x00000002
71.String STATISTICS_REPORT_ACTION ⼴播:要求 receivers 报告⾃⼰的统计信息。

"android.intent.action.STA TISTICS_REPORT"
72.String STATISTICS_STATE_CHANGED_ACTION ⼴播:统计信息服务的状态已经改变。

"android.intent.action.STATISTICS_STA TE_CHANGED"
73.String SYNC_ACTION 动作:执⾏数据同步。

"android.intent.action.SYNC"
74.String TAB_CATEGORY 类别:这个 activity 应该在 TabActivity 中作为⼀个 tab 使⽤。

"android.intent.category.TAB"
75. String TEMPLATE_EXTRA 附加数据:新记录的初始化模板。

"android.intent.extra.TEMPLATE"
76.String TEST_CATEGORY 类别:作为测试⽬的使⽤,不是正常的⽤户体验的⼀部分。

"android.intent.category.TEST"
77. String TIMEZONE_CHANGED_ACTION ⼴播:时区已经改变。

"android.intent.action.TIMEZONE_CHANGED"
78.String TIME_CHANGED_ACTION ⼴播:时间已经改变(重新设置)。

"android.intent.action.TIME_SET"
79.String TIME_TICK_ACTION ⼴播:当前时间已经变化(正常的时间流逝)。

"android.intent.action.TIME_TICK"
80.String UMS_CONNECTED_ACTION ⼴播:设备进⼊ USB ⼤容量存储模式。

"android.intent.action.UMS_CONNECTED"
81.String UMS_DISCONNECTED_ACTION ⼴播:设备从 USB ⼤容量存储模式退出。

"android.intent.action.UMS_DISCONNECTED"
82. String UNIT_TEST_CA TEGORY 类别:应该被⽤作单元测试(通过 test harness 运⾏)。

"android.intent.category.UNIT_TEST"
83.String VIEW_ACTION 动作:向⽤户显⽰数据。

"android.intent.action.VIEW"
84.String WALLPAPER_CA TEGORY 类别:这个 activity 能过为设备设置墙纸。

"android.intent.category.WALLPAPER"
85.String WALLPAPER_CHANGED_ACTION ⼴播:系统的墙纸已经改变。

"android.intent.action.WALLPAPER_CHANGED"
86.String WALLPAPER_SETTINGS_ACTION 动作:显⽰选择墙纸的设置界⾯。

输⼊:⽆。

"android.intent.action.WALLPAPER_SETTINGS"
87.String WEB_SEARCH_ACTION 动作:执⾏ web 搜索。

"android.intent.action.WEB_SEARCH"
88.String XMPP_CONNECTED_ACTION ⼴播:XMPP 连接已经被建⽴。

"android.intent.action.XMPP_CONNECTED"
89.String XMPP_DISCONNECTED_ACTION ⼴播:XMPP 连接已经被断开。

"android.intent.action.XMPP_DI
附录:2
String ADD_SHORTCUT_ACTION 动作:在系统中添加⼀个快捷⽅式。

.
“android.intent.action.ADD_SHORTCUT”
String ALL_APPS_ACTION 动作:列举所有可⽤的应⽤。

输⼊:⽆。

“android.intent.action.ALL_APPS”
String ALTERNATIVE_CATEGORY 类别:说明activity 是⽤户正在浏览的数据的⼀个可选操作。

“android.intent.category.ALTERNATIVE”
String ANSWER_ACTION 动作:处理拨⼊的电话。

“android.intent.action.ANSWER”
String BATTERY_CHANGED_ACTION ⼴播:充电状态,或者电池的电量发⽣变化。

“android.intent.action.BATTERY_CHANGED”
String BOOT_COMPLETED_ACTION ⼴播:在系统启动后。

这个动作被⼴播⼀次(只有⼀次)。

“android.intent.action.BOOT_COMPLETED”
String BROWSABLE_CATEGORY 类别:能够被浏览器安全使⽤的activities 必须⽀持这个类别。

“android.intent.category.BROWSABLE”
String BUG_REPORT_ACTION 动作:显⽰activity 报告错误。

“android.intent.action.BUG_REPORT”
String CALL_ACTION 动作:拨打电话。

被呼叫的联系⼈在数据中指定。

“android.intent.action.CALL”
String CALL_FORWARDING_STATE_CHANGED_ACTION ⼴播:语⾳电话的呼叫转移状态已经改变。

“android.intent.action.CFF”
String CLEAR_CREDENTIALS_ACTION 动作:清除登陆凭证(credential)。

“android.intent.action.CLEAR_CREDENTIALS”String CONFIGURATION_CHANGED_ACTION ⼴播:设备的配置信息已经改变,参见Resources.Configuration.“android.intent.action.CONFIGURATION_CHANGED”
Creator CREATOR ⽆⽆
String DATA_ACTIVITY_STATE_CHANGED_ACTION ⼴播:电话的数据活动(data activity)状态(即收发数据的状态)已经改变。

“android.intent.action.DATA_ACTIVITY”
String DATA_CONNECTION_STATE_CHANGED_ACTION ⼴播:电话的数据连接状态已经改变。

“android.intent.action.DATA_STATE”
String DATE_CHANGED_ACTION ⼴播:⽇期被改变。

“android.intent.action.DATE_CHANGED”
String DEFAULT_ACTION 动作:和VIEW_ACTION 相同,是在数据上执⾏的标准动作。

“android.intent.action.VIEW”String DEFAULT_CATEGORY 类别:如果activity 是对数据执⾏确省动作(点击, center press)的⼀个选项,需要设置这个类别。

“android.intent.category.DEFAULT”
String DELETE_ACTION 动作:从容器中删除给定的数据。

“android.intent.action.DELETE”
String DEVELOPMENT_PREFERENCE_CATEGORY 类别:说明activity 是⼀个设置⾯板(development preference panel).“android.intent.category.DEVELOPMENT_PREFERENCE”
String DIAL_ACTION 动作:拨打数据中指定的电话号码。

“android.intent.action.DIAL”
String EDIT_ACTION 动作:为制定的数据显⽰可编辑界⾯。

“android.intent.action.EDIT”
String EMBED_CATEGORY 类别:能够在上级(⽗)activity 中运⾏。

“android.intent.category.EMBED”
String EMERGENCY_DIAL_ACTION 动作:拨打紧急电话号码。

“android.intent.action.EMERGENCY_DIAL”
int FORWARD_RESULT_LAUNCH 启动标记:如果这个标记被设置。

⽽且被⼀个已经存在的activity ⽤来启动新的activity,已有activity 的回复⽬标(reply target) 会被转移给新的activity。

16
0×00000010
String FOTA_CANCEL_ACTION ⼴播:取消所有被挂起的(pending) 更新下载。

“android.server.checkin.FOTA_CANCEL”String FOTA_INSTALL_ACTION ⼴播:更新已经被确认,马上就要开始安装。

“android.server.checkin.FOTA_INSTALL”String FOTA_READY_ACTION ⼴播:更新已经被下载。

可以开始安装。

“android.server.checkin.FOTA_READY”
String FOTA_RESTART_ACTION ⼴播:恢复已经停⽌的更新下载。

“android.server.checkin.FOTA_RESTART”
String FOTA_UPDATE_ACTION ⼴播:通过OTA 下载并安装操作系统更新。

“android.server.checkin.FOTA_UPDATE”String FRAMEWORK_INSTRUMENTATION_TEST_CATEGORY 类别:To be used as code under test for framework instrumentation tests.
“android.intent.category.FRAMEWORK_INSTRUMENTATION _TEST”
String GADGET_CATEGORY 类别:这个activity 可以被嵌⼊宿主activity (activity that is hosting gadgets)。

“android.intent.category.GADGET”
String GET_CONTENT_ACTION 动作:让⽤户选择数据并返回。

“android.intent.action.GET_CONTENT”
String HOME_CATEGORY 类别:主屏幕(activity)。

设备启动后显⽰的第⼀个activity。

“android.intent.category.HOME”
String INSERT_ACTION 动作:在容器中插⼊⼀个空项(item)。

“android.intent.action.INSERT”
String INTENT_EXTRA 附加数据:和PICK_ACTIVITY_ACTION ⼀起使⽤时,说明⽤户选择的⽤来显⽰的activity;和ADD_SHORTCUT_ACTION ⼀起使⽤的时候,描述要添加的快捷⽅式。

“android.intent.extra.INTENT”
String LABEL_EXTRA 附加数据:⼤写字母开头的字符标签,和
ADD_SHORTCUT_ACTION ⼀起使⽤。

“/doc/1a80afbdf61fb7360b4c6595.html BEL”
String LAUNCHER_CATEGORY 类别:Activity 应该被显⽰在顶级的launcher 中。

“/doc/1a80afbdf61fb7360b4c6595.html UNCHER”
String LOGIN_ACTION 动作:获取登录凭证。

“android.intent.action.LOGIN”
String MAIN_ACTION 动作:作为主⼊⼝点启动,不需要数据。

“android.intent.action.MAIN”
String MEDIABUTTON_ACTION ⼴播:⽤户按下了“Media Button”。

“android.intent.action.MEDIABUTTON”
String MEDIA_BAD_REMOVAL_ACTION ⼴播:扩展介质(扩展卡)已经从SD 卡插槽拔出,但是挂载点(mount point) 还没解除(unmount)。

“android.intent.action.MEDIA_BAD_REMOVAL”
String MEDIA_EJECT_ACTION ⼴播:⽤户想要移除扩展介质(拔掉扩展卡)。

“android.intent.action.MEDIA_EJECT”String MEDIA_MOUNTED_ACTION ⼴播:扩展介质被插⼊,⽽且已经被挂载。

“android.intent.action.MEDIA_MOUNTED”String MEDIA_REMOVED_ACTION ⼴播:扩展介质被移除。

“android.intent.action.MEDIA_REMOVED”
String MEDIA_SCANNER_FINISHED_ACTION ⼴播:已经扫描完介质的⼀个⽬录。

“android.intent.action.MEDIA_SCANNER_FINISHED”
String MEDIA_SCANNER_STARTED_ACTION ⼴播:开始扫描介质的⼀个⽬录。

“android.intent.action.MEDIA_SCANNER_STARTED”
String MEDIA_SHARED_ACTION ⼴播:扩展介质的挂载被解除(unmount)。

因为它已经作为USB ⼤容量存储被共享。

“android.intent.action.MEDIA_SHARED”
String MEDIA_UNMOUNTED_ACTION ⼴播:扩展介质存在,但是还没有被挂载(mount)。

“android.intent.action.MEDIA_UNMOUNTED”
String MESSAGE_WAITING_STATE_CHANGED_ACTION ⼴播:电话的消息等待(语⾳邮件)状态已经改变。

“android.intent.action.MWI”
int MULTIPLE_TASK_LAUNCH 启动标记:和NEW_TASK_LAUNCH 联合使⽤。

禁⽌将已有的任务改变为前景任务(foreground)。

8 0×00000008 String NETWORK_TICKLE_RECEIVED_ACTION ⼴播:设备收到了新的⽹络“tickle”通知。

“/doc/1a80afbdf61fb7360b4c6595.html WORK_TICKLE_RECEIVED”
int NEW_TASK_LAUNCH 启动标记:设置以后,activity 将成为历史堆栈中的第⼀个新任务(栈顶)。

4 0×00000004
int NO_HISTORY_LAUNCH 启动标记:设置以后,新的activity 不会被保存在历史堆栈中。

1 0×00000001
String PACKAGE_ADDED_ACTION ⼴播:设备上新安装了⼀个应⽤程序包。

“android.intent.action.PACKAGE_ADDED”String PACKAGE_REMOVED_ACTION ⼴播:设备上删除了⼀个应⽤程序包。

“android.intent.action.PACKAGE_REMOVED”
String PHONE_STATE_CHANGED_ACTION ⼴播:电话状态已经改变。

“android.intent.action.PHONE_STATE”
String PICK_ACTION 动作:从数据中选择⼀个项⽬(item),将被选中的项⽬返回。

“android.intent.action.PICK”
String PICK_ACTIVITY_ACTION 动作:选择⼀个activity,返回被选择的activity 的类(名)。

“android.intent.action.PICK_ACTIVITY”
String PREFERENCE_CATEGORY 类别:activity是⼀个设置⾯板(preference panel)。

“android.intent.category.PREFERENCE”
String PROVIDER_CHANGED_ACTION ⼴播:更新将要(真正)被安装。

“android.intent.action.PROVIDER_CHANGED”String PROVISIONING_CHECK_ACTION ⼴播:要求polling of provisioning service 下载最新的设置。

“android.intent.action.PROVISIONING_CHECK”
String RUN_ACTION 动作:运⾏数据(指定的应⽤),⽆论它(应⽤)是什么。

“android.intent.action.RUN”
String SAMPLE_CODE_CATEGORY 类别:To be used as an sample code example (not part of the normal user experience). “android.intent.category.SAMPLE_CODE”
String SCREEN_OFF_ACTION ⼴播:屏幕被关闭。

“android.intent.action.SCREEN_OFF”
String SCREEN_ON_ACTION ⼴播:屏幕已经被打开。

“android.intent.action.SCREEN_ON”
String SELECTED_ALTERNATIVE_CATEGORY 类别:对于被⽤户选中的数据。

activity 是它的⼀个可选操作。

“android.intent.category.SELECTED_ALTERNATIVE”
String SENDTO_ACTION 动作:向data 指定的接收者发送⼀个消息。

“android.intent.action.SENDTO”
String SERVICE_STATE_CHANGED_ACTION ⼴播:电话服务的状态已经改变。

“android.intent.action.SERVICE_STATE”String SETTINGS_ACTION 动作:显⽰系统设置。

输⼊:⽆。

“android.intent.action.SETTINGS”
String SIGNAL_STRENGTH_CHANGED_ACTION ⼴播:电话的信号强度已经改变。

“android.intent.action.SIG_STR”
int SINGLE_TOP_LAUNCH 启动标记:设置以后,如果activity 已经启动。

⽽且位于历史堆栈的顶端,将不再启动(不重新启动)activity。

2 0×00000002 String STATISTICS_REPORT_ACTION ⼴播:要求receivers 报告⾃⼰的统计信息。

“android.intent.action.STATISTICS_REPORT”
String STATISTICS_STATE_CHANGED_ACTION ⼴播:统计信息服务的状态已经改变。

“android.intent.action.STATISTICS_STATE_CHANGED”
String SYNC_ACTION 动作:执⾏数据同步。

“android.intent.action.SYNC”
String TAB_CATEGORY 类别:这个activity 应该在TabActivity 中作为⼀个tab 使⽤。

“android.intent.category.TAB”
String TEMPLATE_EXTRA 附加数据:新记录的初始化模板。

“android.intent.extra.TEMPLATE”
String TEST_CATEGORY 类别:作为测试⽬的使⽤,不是正常的⽤户体验的⼀部分。

“android.intent.category.TEST”String TIMEZONE_CHANGED_ACTION ⼴播:时区已经改变。

“android.intent.action.TIMEZONE_CHANGED”
String TIME_CHANGED_ACTION ⼴播:时间已经改变(重新设置)。

“android.intent.action.TIME_SET”
String TIME_TICK_ACTION ⼴播:当前时间已经变化(正常的时间流逝)。

“android.intent.action.TIME_TICK”
String UMS_CONNECTED_ACTION ⼴播:设备进⼊USB ⼤容量存储模式。

“android.intent.action.UMS_CONNECTED”String UMS_DISCONNECTED_ACTION ⼴播:设备从USB ⼤容量存储模式退出。

“android.intent.action.UMS_DISCONNECTED”
String UNIT_TEST_CATEGORY 类别:应该被⽤作单元测试(通过test harness 运⾏)。

“android.intent.category.UNIT_TEST”
String VIEW_ACTION 动作:向⽤户显⽰数据。

“android.intent.action.VIEW”
String WALLPAPER_CATEGORY 类别:这个activity 能过为设备设置墙纸。

“android.intent.category.WALLPAPER”String WALLPAPER_CHANGED_ACTION ⼴播:系统的墙纸已经改变。

“android.intent.action.WALLPAPER_CHANGED”String WALLPAPER_SETTINGS_ACTION 动作:显⽰选择墙纸的设置界⾯。

输⼊:⽆。

“android.intent.action.WALLPAPER_SETTINGS”
String WEB_SEARCH_ACTION 动作:执⾏web 搜索。

“android.intent.action.WEB_SEARCH”
String XMPP_CONNECTED_ACTION ⼴播:XMPP 连接已经被建⽴。

“android.intent.action.XMPP_CONNECTED”String XMPP_DISCONNECTED_ACTION ⼴播:XMPP 连接已经被断开。

“android.intent.action.XMPP_DI
=================================================================== ========== Activity总是要来回跳转的,发现积累个ACTION列表是必要的...
1. 电话
(1) 拔打⼀个号码,号码为传⼊参数
TelephonyManager tm =(TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if(tm.getCallState()== TelephonyManager.CALL_STATE_IDLE){ //其实,这个
可以不要的,只是判断⼀下当前phone的状态,如果为IDLE,才允许呼叫~
Intent callIntent =new Intent(Intent.ACTION_CALL_PRIVILEGED,Uri.fromParts("tel", mNumber,null)); startActivity(callIntent);
}
2. 短信
(1) 发送短信给⼀个号码,号码为传⼊参数
Intent SMSIntent =new Intent(Intent.ACTION_SENDTO,
Uri.fromParts(Constants.SCHEME_SMSTO,Number, null));
startActivity(SMSIntent);
(2) 通过短信将⼀个内容发送出去,内容为传⼊参数
Intent sendIntent =new Intent(Intent.ACTION_SEND);
sendIntent.setType("text/plain");
sendIntent.putExtra("sms_body","sms body");
//这个。

有可能系统会让选择⽤蓝⽛还是信息
3.
附:2.2源码中的ACTION定义
androidsrc>grep ACTION_
frameworks/base/core/java/android/content/Intent.java|grep String public static final String ACTION_MAIN ="android.intent.action.MAIN";
public static final String ACTION_VIEW ="android.intent.action.VIEW";
public static final String ACTION_DEFAULT = ACTION_VIEW;
public static final String ACTION_ATTACH_DATA = "android.intent.action.ATTACH_DATA";
public static final String ACTION_EDIT ="android.intent.action.EDIT";
public static final String ACTION_INSERT_OR_EDIT = "android.intent.action.INSERT_OR_EDIT"; public static final String ACTION_PICK ="android.intent.action.PICK";
public static final String ACTION_CREATE_SHORTCUT = "android.intent.action.CREATE_SHORTCUT"; public static final String ACTION_CHOOSER = "android.intent.action.CHOOSER";
public static final String ACTION_GET_CONTENT = "android.intent.action.GET_CONTENT";
public static final String ACTION_DIAL ="android.intent.action.DIAL";
public static final String ACTION_CALL ="android.intent.action.CALL";
public static final String ACTION_CALL_EMERGENCY = "android.intent.action.CALL_EMERGENCY";
public static final String ACTION_CALL_PRIVILEGED = "android.intent.action.CALL_PRIVILEGED";
public static final String ACTION_IP_CALL_PRIVILEGED = "android.intent.action.IP_CALL_PRIVILEGED";
public static final String ACTION_SENDTO = "android.intent.action.SENDTO";
public static final String ACTION_SEND ="android.intent.action.SEND";
public static final String ACTION_SEND_MULTIPLE = "android.intent.action.SEND_MULTIPLE";
public static final String ACTION_ANSWER = "android.intent.action.ANSWER";
public static final String ACTION_INSERT = "android.intent.action.INSERT";
public static final String ACTION_DELETE = "android.intent.action.DELETE";
public static final String ACTION_RUN ="android.intent.action.RUN";
public static final String ACTION_SYNC ="android.intent.action.SYNC";
public static final String ACTION_PICK_ACTIVITY = "android.intent.action.PICK_ACTIVITY";
public static final String ACTION_SEARCH = "android.intent.action.SEARCH";
public static final String ACTION_SYSTEM_TUTORIAL = "android.intent.action.SYSTEM_TUTORIAL";
public static final String ACTION_WEB_SEARCH =
"android.intent.action.WEB_SEARCH";
public static final String ACTION_ALL_APPS = "android.intent.action.ALL_APPS";
public static final String ACTION_SET_WALLPAPER = "android.intent.action.SET_WALLPAPER";
public static final String ACTION_BUG_REPORT = "android.intent.action.BUG_REPORT";
public static final String ACTION_FACTORY_TEST = "android.intent.action.FACTORY_TEST";
public static final String ACTION_CALL_BUTTON = "android.intent.action.CALL_BUTTON";
public static final String ACTION_VOICE_COMMAND = "android.intent.action.VOICE_COMMAND";
public static final String ACTION_SEARCH_LONG_PRESS = "android.intent.action.SEARCH_LONG_PRESS";
public static final String ACTION_APP_ERROR = "android.intent.action.APP_ERROR";
public static final String ACTION_POWER_USAGE_SUMMARY = "android.intent.action.POWER_USAGE_SUMMARY"; public static final String ACTION_UPGRADE_SETUP = "android.intent.action.UPGRADE_SETUP";
public static final String ACTION_SCREEN_OFF = "android.intent.action.SCREEN_OFF";
public static final String ACTION_SCREEN_ON = "android.intent.action.SCREEN_ON";
public static final String ACTION_USER_PRESENT = "/doc/1a80afbdf61fb7360b4c6595.html
ER_PRESENT";
public static final String ACTION_TIME_TICK = "android.intent.action.TIME_TICK";
public static final String ACTION_TIME_CHANGED = "android.intent.action.TIME_SET";
public static final String ACTION_DATE_CHANGED = "android.intent.action.DATE_CHANGED";
public static final String ACTION_TIMEZONE_CHANGED = "android.intent.action.TIMEZONE_CHANGED";
public static final String ACTION_ALARM_CHANGED = "android.intent.action.ALARM_CHANGED";
public static final String ACTION_SYNC_STATE_CHANGED。

相关文档
最新文档