Android 利用Service BroadcastReceiver实现小例子

Activity:

 1 package com.example.test;
 2
 3 import android.app.Activity;
 4 import android.content.Context;
 5 import android.content.Intent;
 6 import android.content.IntentFilter;
 7 import android.os.Bundle;
 8 import android.view.Menu;
 9 import android.view.MenuItem;
10 import android.widget.TextView;
11 /**
12  * 实现当插接电源时,手机震动并弹出消息。
13  * @author shaobn
14  * @date 2015-9-19
15  * @packege com.example.testTest
16  */
17 public class MainActivity extends Activity {
18     private TextView text;
19     @Override
20     protected void onCreate(Bundle savedInstanceState) {
21         super.onCreate(savedInstanceState);
22         setContentView(R.layout.activity_main);
23         text = (TextView) this.findViewById(R.id.textView1);
24         IntentFilter intentFilter = new IntentFilter();
25         intentFilter.addAction(Intent.ACTION_POWER_CONNECTED);
26         MyReceiver myReceiver = new MyReceiver();
27         registerReceiver(myReceiver,intentFilter);
28     }
29 }

BroacastReceiver:

 1 package com.example.test;
 2
 3 import android.content.BroadcastReceiver;
 4 import android.content.Context;
 5 import android.content.Intent;
 6 /**
 7  *
 8  * @author shaobn
 9  * @date 2015-9-19
10  * @packege com.example.testTest
11  */
12 public class MyReceiver extends BroadcastReceiver {
13
14     @Override
15     public void onReceive(Context context, Intent arg1) {
16         // TODO Auto-generated method stub
17         Intent intent = new Intent();
18         intent.putExtra("msg","helloworld");
19         intent.setClass(context,MyService.class);
20         context.startService(intent);
21     }
22 }

Service:

 1 package com.example.test;
 2
 3 import android.app.Service;
 4 import android.content.Intent;
 5 import android.os.IBinder;
 6 import android.os.Vibrator;
 7 import android.widget.Toast;
 8 /**
 9  *
10  * @author shaobn
11  * @date 2015-9-19
12  * @packege com.example.testTest
13  */
14 public class MyService extends Service {
15
16     @Override
17     public IBinder onBind(Intent arg0) {
18         // TODO Auto-generated method stub
19         return null;
20     }
21     @Override
22     public void onCreate() {
23         // TODO Auto-generated method stub
24         super.onCreate();
25     }
26     @Override
27     public int onStartCommand(Intent intent, int flags, int startId) {
28         // TODO Auto-generated method stub
29         String message = intent.getStringExtra("msg");
30         Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
31         vibrator.vibrate(2000);
32         Toast.makeText(getApplicationContext(),message,1).show();
33         return super.onStartCommand(intent, flags, startId);
34     }
35 }

自己随手写的,程序有点简单,就不写注释了。AndroidManifest.xml中注意配置Service 以及vibrator权限。

时间: 2024-10-21 04:26:08

Android 利用Service BroadcastReceiver实现小例子的相关文章

Android 利用Service实现下载网络图片至sdk卡

1 package com.example.myapp5; 2 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.os.Bundle; 6 import android.view.View; 7 import android.widget.Button; 8 /** 9 * Android 利用service实现下载图片功能 10 * @author shaobn 11 * @date

Android开发短信备份小例子

主要是使用内容提供者ContentProvider #1.在activity_main.xml布局文件中添加写sdcard权限,并添加读短信的权限 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_par

Android中Service的一个Demo例子

Android中Service的一个Demo例子  Service组件是Android系统重要的一部分,网上看了代码,很简单,但要想熟练使用还是需要Coding.  本文,主要贴代码,不对Service做过多讲解.  代码是从网上找的一个例子,Copy下来发现代码不完全正确,稍微修改了下.  AndroidManifest.xml <application android:icon="@drawable/ic_launcher" android:label="@stri

android 利用 service 实现音乐播放

今天的播放器利用了service,播放音乐在service端,进度条在activity端,因此主要的工作就是activity和service的交互,本文将利用IBinder进行交互,主要是activity可以调用service的函数,可以参考我的这篇博客. 本文关键点:利用利用IBinder实现activity 控制service 实现功能: 1 控制播放进度: activity调用service的函数,对MediaPlayer进行控制.包括启动时的播放和滑动seekbar时,对MediaPla

Android常用系统Intent.Action小例子

ACTION_MAIN  android.intent.action.MAIN   应用程序入口 ACTION_VIEW  android.intent.action.VIEW  显示数据给用户 ACTION_ATTACH_DATA  android.intent.action.ATTACH_DATA  指明附加信息给其他地方的一些数据 ACTION_EDIT  android.intent.action.EDIT  显示可编辑的数据 ACTION_PICK  android.intent.ac

【Android】揭秘如何利用Service与线程制造安卓后台通知栏推送

安卓设备的后台通知栏推送很烦,主要是可以通过利用安卓的Service功能,在app被点击Home键或者返回键之后,依旧可以在挂载后台运行.反正Home键或者返回键只能杀死Activity而不能终结Service的,不像Windows点关闭键默认是关闭程序界面+程序线程. 本文的意义相当于在Windows中制造一条线程,或者是对Windows应用程序的关闭键进行重写,让其应用程序的关闭仅仅是隐藏界面,不杀死进程. 理论上,只要这个Service不被安卓系统因内存不足所回收,会一直持续到设备重启,或

Android -- 利用Broadcast开启Service

Broadcast和Service都是Android四大组建之一的. 这里的广播是动态的,自己注册的一个广播. 这种最典型的用法就是利用开机广播,然后再起自己的服务,也就是在Android手机中做到开启启动. Service与Broadcast                                                                 public class MyService extends Service { private MyReceiver rec

android service broadcastreceiver intentfilter

service 组件,和UI并不进行交互,运行在后台,可以和其他组件进行交互 broadcastreceiver,广播是一种广泛运用的在应用程序之间传输信息的机制 .而 BroadcastReceiver 是对发送出来的广播进行过滤接收并响应的一类组件 intentfilter Intent类似于Windows中的消息,而intentfilter可以理解为消息过滤器 下面我们用例子来说明如何运用这三种组件 首先,我们建立一个Serivce,他的作用是每间隔一秒生成一个随机数,并将随机数放到Int

Android -- 利用Broadcast开启Service(转)

Broadcast和Service都是Android四大组建之一的. 这里的广播是动态的,自己注册的一个广播. 这种最典型的用法就是利用开机广播,然后再起自己的服务,也就是在Android手机中做到开启启动. Service与Broadcast                                                                 public class MyService extends Service { private MyReceiver rec