写这个东西只是为了练手,拍砖随意。反正自己也是菜鸟。
微信/QQ在退出主界面之后还是会一直监听消息。如何实现呢?
一下做的测试,监听为用户的新信息。
首先:建立主程序界面
两个button。
其次:绑定监听事件
这里的intent需要在manifest中进行注册。
service类方法:
onstart方法中有个Test的实力,这个实力就是一个BroadcastReceiver用来监听来电或来信息。
这个broadcastreceiver也需要在manifest中进行注册/
action对应的就是收到新信息。
微信/QQ在退出主界面之后还是会一直监听消息。如何实现呢?
一下做的测试,监听为用户的新信息。
首先:建立主程序界面
- <Button
- android:id="@+id/button1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="start" />
- <Button
- android:id="@+id/button2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="stop" />
两个button。
其次:绑定监听事件
- start.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- System.out.println("ooooo");
- startService(new Intent("com.duduli.li.My"));
- }
- });
- stop.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- stopService(new Intent("com.duduli.li.My"));
- }
- });
这里的intent需要在manifest中进行注册。
- <service android:name=".Myservice">
- <intent-filter>
- <action android:name="com.duduli.li.My"/>
- <category android:name="android.intent.category.DEFAULT"/>
- </intent-filter>
- </service>
service类方法:
- public class Myservice extends Service{
- @Override
- public IBinder onBind(Intent intent) {
- // TODO Auto-generated method stub
- System.out.println("on bind");
- return null;
- }
- @Override
- public void onCreate() {
- // TODO Auto-generated method stub
- super.onCreate();
- System.out.println("on create");
- }
- @Override
- public void onStart(Intent intent, int startId) {
- // TODO Auto-generated method stub
- super.onStart(intent, startId);
- System.out.println("on start");
- new Test();
- }
- }
onstart方法中有个Test的实力,这个实力就是一个BroadcastReceiver用来监听来电或来信息。
- public class Test extends BroadcastReceiver {
- @Override
- public void onReceive(Context context, Intent intent) {
- // TODO Auto-generated method stub
- if(intent.getAction().equals("android.provider.Telephony.SMS_RECEIVED")){
- System.out.println(System.currentTimeMillis());
- System.out.println("broadcast begin");
- }
- }
- }
这个broadcastreceiver也需要在manifest中进行注册/
- <receiver android:name=".Test">
- <intent-filter>
- <action android:name="android.provider.Telephony.SMS_RECEIVED"/>
- </intent-filter>
- </receiver>
action对应的就是收到新信息。
![](http://dl.iteye.com/upload/attachment/596614/79e81269-1d0e-3178-a1ea-b1404864d5ae.jpg)
![](http://dl.iteye.com/upload/attachment/596616/6d4bc801-3b09-3d8e-a0a4-8520a856c9cb.jpg)
![点击查看原始大小图片](http://dl.iteye.com/upload/attachment/596618/6637bc37-8d31-331a-8042-7bc5b20fa1e5.jpg)
![点击查看原始大小图片](http://dl.iteye.com/upload/attachment/596622/a6d8c896-fcb6-340b-86dc-c0ca51312fec.jpg)
![点击查看原始大小图片](http://dl.iteye.com/upload/attachment/596624/968cbb7f-969b-32b5-8cd4-1a99cecc73e5.jpg)
![](http://dl.iteye.com/upload/attachment/596626/49837d2d-9d2c-3ac2-a027-1271c09a4934.jpg)