- 浏览: 277713 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
xianwubiao:
坑爹。。。。。
IOS之简单选择器UIPickerView(省份+城市) -
yanransysu:
为啥结果没有显示图片嘞,我都已经把你共享的文件给放进去了?
IOS之集合视图UICollectionView -
ajxjwha:
获取的总是空,为什么?!
IOS之简单选择器UIPickerView(省份+城市) -
如果宅:
附件下载下来是图片!
IOS之集合视图UICollectionView -
ikrboy:
小红星凯 写道找不到pickview 那个协议怎么搞?步骤写得 ...
IOS之简单选择器UIPickerView(省份+城市)
BroadcastReceiver捕捉到信息后关闭服务
public class ServiceSendCast extends Activity { /* 建立自定义mServiceReceiver对象 */ private MyServiceReceiver mReceiver01; private TextView mTextView01; private Button mButton01, mButton02; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.service_send_cast); mTextView01 = (TextView) findViewById(R.id.myTextView1); mButton01 = (Button) findViewById(R.id.myButton1); mButton02 = (Button) findViewById(R.id.myButton2); /* 启动系统服务(Service) */ mButton01.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { /* 开始执行后台服务(Service) */ Intent i = new Intent(ServiceSendCast.this, SendService.class); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startService(i); mMakeTextToast("启动系统服务", false); } }); /* 终止系统服务(Service) */ mButton02.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { /* 指定终止执行后台服务(mService1) */ Intent i = new Intent(ServiceSendCast.this, SendService.class); /* 关闭系统服务 */ if (stopService(i) == true) { mMakeTextToast("已关闭系统服务", false); } else { /* 显示关闭服务失败 */ mTextView01.setText("关闭服务失败 "); } } }); } /* 建立继承告BroadcastReceiver的 mServiceReceiver类接受广播讯息 */ public class MyServiceReceiver extends BroadcastReceiver { public void onReceive(Context context, Intent intent) { try { /* 取并来自后台服务所Broadcast的参数 */ Bundle bunde = intent.getExtras(); String strParam1 = bunde.getString("STR_PARAM1"); /* 将从Service里传来的广播讯息显示于TextView */ mTextView01.setText(strParam1); Intent i = new Intent(ServiceSendCast.this, SendService.class); if (stopService(i) == true) { mMakeTextToast("已关闭系统服务", true); } } catch (Exception e) { mTextView01.setText(e.toString()); e.getStackTrace(); } } } public void mMakeTextToast(String str, boolean isLong) { if (isLong == true) { Toast.makeText(ServiceSendCast.this, str, Toast.LENGTH_LONG).show(); } else { Toast.makeText(ServiceSendCast.this, str, Toast.LENGTH_SHORT) .show(); } } @Override protected void onResume() { try { /* 前景程序生命周期开始 */ IntentFilter mFilter01; /* 自定义要过滤的广播讯息(DavidLanz) */ mFilter01 = new IntentFilter(SendService.HIPPO_SERVICE_IDENTIFIER); mReceiver01 = new MyServiceReceiver(); registerReceiver(mReceiver01, mFilter01); } catch (Exception e) { mTextView01.setText(e.toString()); e.getStackTrace(); } super.onResume(); } protected void onPause() { /* 前景程序生命周期结束,解除刚守系统注册的Receiver */ unregisterReceiver(mReceiver01); super.onPause(); } }
public class SendService extends Service { private Handler objHandler = new Handler(); private int intCounter = 0; public static final String HIPPO_SERVICE_IDENTIFIER = "ComeFromServer"; /* 线程Tasks每1秒执行几次 */ private Runnable mTasks = new Runnable() { public void run() { intCounter++; /* 当后台Service执行5秒后,发生自定义的广播讯息 */ if (intCounter == 5) { Intent i = new Intent(HIPPO_SERVICE_IDENTIFIER); i.putExtra("STR_PARAM1", "来自Service的广播信息"); sendBroadcast(i); } Log.i("HIPPO", "Service Running Counter:" + Integer.toString(intCounter)); objHandler.postDelayed(mTasks, 1000); } }; public IBinder onBind(Intent arg0) { return null; } public void onStart(Intent intent, int startId) { /* 服务开始执行,启用线程 */ objHandler.postDelayed(mTasks, 1000); super.onStart(intent, startId); } public void onDestroy() { objHandler.removeCallbacks(mTasks); super.onDestroy(); } }
manifest.xml
<activity android:name=".ServiceSendCast" android:label="@string/app_name"> </activity> <service android:name=".SendService" android:exported="true" android:process=":remote"></service>
发表评论
-
Gesture获取屏幕手写事件并显示相应信息
2012-03-13 16:53 1375private GestureLibrary ge ... -
SensorManager判断手机指向方向
2012-03-13 16:29 2880public class GetPosition ext ... -
BroadcastReceiver开机便运行的程序
2012-03-13 11:29 1123public class BeginFromBoo ... -
BroadcastReceiver监听短信发送的状态
2012-03-12 20:22 4602添加权限 <uses-permission ... -
BroadcastReceiver一个星期每天更换不同的壁纸
2012-03-12 12:22 1426添加权限 <uses-permission ... -
SensorEventListener手机翻背静音震动
2012-03-12 12:23 1458添加震动权限 <uses-permission ... -
AudioManager黑名单来电自动静音
2012-03-12 12:23 2404添加权限 <uses-permission ... -
AlarmManager可定时响起的闹钟
2012-03-11 13:22 1781三部分 1.MyClock.java(设置界面) 2.Ca ... -
PhoneState查看拨号器状态及显示联系人信息
2012-03-11 10:33 1207添加权限 <uses-perm ... -
Service与Runnable开始与停止系统服务
2012-03-11 10:33 3334两部分ControlService.java(Ac ... -
查看Battery剩余电量
2012-03-10 14:06 996private int intLevel; p ... -
BroadcastReceiver实时短信提醒
2012-03-10 13:31 1048添加权限 <uses-permission ... -
Gesture建立手写笔画图案
2012-03-10 00:34 1000添加权限 <uses-permission ... -
TelephonyManager获取电信网络和手机信息
2012-03-10 00:34 1707添加权限 <uses-permission ... -
任务管理器查看正在运行的程序和服务
2012-03-09 10:15 1252添加权限 <uses-perm ... -
SIM获取手机SIM卡的信息
2012-03-09 09:49 1333添加权限: <uses-permission ... -
Wallpaper获取当前、修改和还原自带壁纸
2012-03-09 09:50 2732添加权限: <uses-permission ... -
ContactsContract获取联系人信息及双向查找联系人信息
2012-03-08 12:24 2528添加权限: <uses-permission ... -
Vibrator结合ToggleButton控件的震动提示
2012-03-08 12:24 1168添加权限: <uses-permission ... -
通过Gmail发送邮件
2012-03-07 14:37 985private EditText mEditTex ...
相关推荐
Service通过广播向Activity传值,也可以多个Activity接收
• 一个意图对象是传递给Context.startService()来发起一个服务或者递交新的指令给运行中的服务。类似的,一个意图能被传递给Context.bindService() 来在调用组件和一个目标服务之间建立连接。作为一个可选项,它...
2.启动Service将Intent对象传递给startService()方法或bindService()方法以启动一个Service,该Intent对象包含了要启动的Service的信息及其他必要的数据。 3.发送广播广播是一种所有App都可以接收的信
将intent对象传给Context.startService()来启动一个service或者传消息给一个运行的service. 将intent对象传给 Context.bindService()来绑定一个service. 将intent对象传给 Context.sendBroadcast(), Context....
Servicemaster Android 使用Service和BroadcastReceiver实现音乐播放功能 Service ...activity传递信息很简单,通过startService并传递intent即可,但是service却只能通过广播的形式来向activity传递数据
extra 附加信息,除了data之外,还可以通过extra附加信息,extra属性使用Bundle类 型进行数据传递; component 组件,显式指定Intent的目标组件的名称; type 数据类型,显式指定Intent的数据类型; 3. Service组件...
使用数据库对记事进行增加,查看,修改和删除。 使用 Activity 数据传递实现界面跳转及数据传递(存入和取出)。...户的记事本信息保存下来,需要将这些信息存储在数据库中。记事本需要保存的信息有 编号(ID)、
service可以在很多场合的应用中使用,比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务总是藏在后台的,...
服务(Service) - 相当于后台运行的 Activity 广播(Broadcast) - 用于发送广播 广播接收器(BroadcastReceiver) - 用于接收 ContentProvider-用于应用间共享数据 Intent - 用于连接以上各个组件,并在其间传递消息
组件生命周期将讨论活动、服务、广播接收者的生命周期——包括在生命周期中他们可能的状态、通知状态改变 的方法、及这些状态的组件寄宿的进程被终结和实例被销毁的可能性。 上篇Android开发之旅:组件生命周期(一...
当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet,并让 Servlet 建立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自动装入 Servlet。装入后, Servlet 继续运行...
Looper:是Handler和消息队列之间通讯桥梁,程序组件首先通过Handler把消息传递给Looper,Looper把消息放入队列。Looper也把消息队列里的消息广播给所有的 Handler,Handler接受到消息后调用handleMessage...
4.5.2 Activity信息的管理 4.5.3 Intent 匹配查询分析 4.5.4 queryIntentActivities总结 4.6 installd及UserManager介绍 4.6.1 installd介绍 4.6.2 UserManager介绍 4.7 本章学习指导 4.8 本章小结 第5章 ...
消息的多播是指将消息发送到一组接收者。 与消息的单播是一对一通信技术和广播是一对多通信不同,多播是一对多通信技术。 通过这种方式,用户可以向选定的一组接收者发送消息。 因此,为了实现多播消息的总排序,...
自动配置VLAN时,交换机中软件自动检查进入交换机端口的广播信息的IP源地址,然后软件自动将这个端口分配给一个由IP子网映射成的VLAN。 按用户划分VLAN 基于用户定义、非用户授权来划分VLAN,是指为了适应特别的...
如果该值为false,说明程序已经处于不正确的状态下,系统将给出警告或退出。一般来说,assertion用于保证程序最基本、关键的正确性。assertion检查通常在开发和测试时开启。为了提高性能,在软件发布后,assertion...
2.2.3 service介绍 2.2.4 broadcastintentreceiver 2.2.5 contentprovider 2.3 android应用项目文件组成 2.3.1 androidmanifest.xml文件 2.3.2 src目录 2.3.3 常量的定义文件 2.4 程序生命周期 2.4.1 android周期 ...
将接口暴露给客户端; 客户端访问AIDLService; 10.3、电话管理器:TelephoneManager; 10.4、短信管理器:SmsManager; 10.5、音频管理器:AudioManager; 10.6、振动器:Vibrator; 10.7、手机闹钟服务:...
将接口暴露给客户端; 客户端访问AIDLService; 10.3、电话管理器:TelephoneManager; 10.4、短信管理器:SmsManager; 10.5、音频管理器:AudioManager; 10.6、振动器:Vibrator; 10.7、手机闹钟服务:...