`

使用BroadCast 使 service 和activity 信息交互

 
阅读更多
package com.su.testbroadcast;

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.widget.TextView;

public class TestBroadCastActivity extends Activity {
	private TextView textView;
	private ChangeReceiver changeReceiver;

	/** Called when the activity is first created. */
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		textView = (TextView) findViewById(R.id.textView1);
		registerBroadcast();

		Intent service = new Intent(TestBroadCastActivity.this, MyService.class);
		startService(service);

	}
	
	@Override
	protected void onDestroy() {
		// TODO Auto-generated method stub
		super.onDestroy();
		unregisterReceiver(changeReceiver);//解除接受者
	}

/**
 *  为BroadcastReceiver指定action,使之用于接收同action的广播
 */
	private void registerBroadcast() {
		
		IntentFilter intentFilter = new IntentFilter();
		intentFilter.addAction("com.su.testbroadcast"); 
		changeReceiver = new ChangeReceiver();
		registerReceiver(changeReceiver, intentFilter);
	}

	
	public class ChangeReceiver extends BroadcastReceiver {//实现接受者

		@Override
		public void onReceive(Context context, Intent intent) {
			String title = intent.getStringExtra("msg");
			textView.setText(title);

		}

	}

}
package com.su.testbroadcast;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;

public class MyService extends Service {

	@Override
	public void onCreate() {
		super.onCreate();
		//發送廣播
		Intent intent = new Intent("com.su.testbroadcast");
		intent.putExtra("msg", "msg from service");
		sendBroadcast(intent);
	}

	@Override
	public IBinder onBind(Intent intent) {
		// TODO Auto-generated method stub
		return null;
	}

}



分享到:
评论

相关推荐

    Service和Activity通过Broadcast共享数据

    简单的实现service和activity共享数据

    Service与多个Activity交互

    Service与多个Activity通过Broadcast进行交互

    实验四-Android基本组件交互实验.doc

    实验四 Android基本组件交互实验 【实验目的】 本实验是Android基本组件实验,主要针对Activity、Service和Receiver实现和使用方 法。通过实验使学生掌握Activity的跳转、Service的启动停止以及Receiver的接受等。 ...

    详解Android 进程间通信的几种实现方式

    这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity可以跨进程调用其他应用程序的Activity;Content Provider可以跨进程访问其他应用程序中的数据...

    android Service运用

    adroid 3大组件之间的交互,可以对service,activity,broadcast 有更好的认识!

    Android中使用开源框架eventbus3.0实现fragment之间的通信交互

    在之前的博文中简单介绍过如何实现fragment之间的信息交互:《Android中Fragment与Activity之间的交互(两种实现方式)》,今天继续给大家介绍一种可以实现此效果的另外一种方式EventBus。(相比于handler,接口回调...

    android中跨进程通讯的4种方式

    这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity可以跨进程调用其他应用程序的Activity;Content Provider可以跨进程访问其他应用程序中的数据...

    Activity配置、启动和关闭activity实例详解

    Android为我们提供了四种应组件,分别为Activity、Service、Broadcast receivers和Content providers,这些组建也就是我们开发一个Android应用程序的基石。系统可以通过不同组建提供的切入点进入到开发的应用程序中...

    android开发入门教程

    第9章 我来“广播”你的“意图”——Intent和Broadcast面对面 9.1 Android应用程序的核心——Intent 9.1.1 Intent基础 9.1.2 用Intent启动一个新的Activity 9.1.3 Intent详细讲解 9.1.4 Android解析Intent实现 9.2 ...

    Android开发中Activity创建跳转及传值的方法

    在Android系统的江湖中有四大组件:活动(Activity), 服务(Service), 广播接收器(Broadcast Reciver)和内容提供者(Content Provider)。 今天所介绍的就是Android开发中的四大组件之一:Activity,其他那三大...

    Android四大组件之Service

    android开发的四大组件分别是:Activity(活动),活动,与用户交互界面; Service(服务),Content Provider(内容提供器),Broadcast Receiver(广播)。 今天介绍一下Service(服务)。 Service的生命周期 Service有两种...

    Android系统架构概述PPT

    应用程序层主要就是由四大组件Activity、Service、Broadcast Receiver和Content Provider构成,它们是应用开发的基础。这个PPT从一个通用的应用程序架构开始,概述Android系统的专用驱动、HAL、关键服务、Dalvik、...

    Android开发应用实战详解源代码

    2.8.2 使用broadcast receiver监听广播 2.8.3 android本地广播 2.9 小结 第3章 设备界面演练 3.1 文字标签处理 3.2 改变屏幕窗口元素的背景颜色 3.3 改变textview的文字颜色 3.4 实现textview文字的替换 3.5 获取...

    《Google Android开发入门与实战》.pdf

    第9章 我来“广播”你的“意图”——intent和broadcast面对面 174 9.1 android应用程序的核心——intent 174 9.1.1 intent基础 174 9.1.2 用intent启动一个新的activity 174 9.1.3 intent 详细讲解 ...

    android开发入门与实战(下)

    第9章 我来“广播”你的“意图”——Intent和Broadcast面对面 9.1 Android应用程序的核心——Intent 9.1.1 Intent基础 9.1.2 用Intent启动一个新的Activity 9.1.3 Intent详细讲解 9.1.4 Android解析Intent实现 9.2 ...

    android开发入门与实战(上)

    第9章 我来“广播”你的“意图”——Intent和Broadcast面对面 9.1 Android应用程序的核心——Intent 9.1.1 Intent基础 9.1.2 用Intent启动一个新的Activity 9.1.3 Intent详细讲解 9.1.4 Android解析Intent实现 9.2 ...

    Google Android开发入门与实战的代码

    第9章 我来“广播”你的“意图”——Intent和Broadcast面对面 174 9.1 Android应用程序的核心——Intent 174 9.1.1 Intent基础 174 9.1.2 用Intent启动一个新的Activity 174 9.1.3 Intent 详细讲解 ...

    Google.Android开发入门与实战

    第9章 我来“广播”你的“意图”——Intent和Broadcast面对面 9.1 Android应用程序的核心——Intent 9.1.1 Intent基础 9.1.2 用Intent启动一个新的Activity 9.1.3 Intent详细讲解 9.1.4 Android解析Intent实现 9.2 ...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

Global site tag (gtag.js) - Google Analytics