`

使用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面试题

    其中,Activity 负责与用户交互,Service 负责后台执行任务,Broadcast Receiver 负责接收广播,Content Provider 负责数据共享。 二、 Fragment Fragment 是一种特殊的 Activity,称为碎片,可以作为界面来使用。...

    基于Android平台的个人事务管理系统设计.pdf

    Android平台四大组件是Activity、Service、Broadcast Receiver和ContentProvider。Activity组件为用户提供可视化的操作界面,位于前台运行的组件系统。在系统开发过程中通常是有多个Activity组成组件栈,而对该组件...

    Android系统架构概述PPT

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

    android开发框架介绍

    2. Broadcast Intent Receiver:Intent 提供了各种不同 Activity 进行跳转的机制,譬如如果从 A activity 跳转到 B activity,使用 Intent 来实现。BroadcastReceiver 提供了各种不同的 Android 应用程序进行进程间...

    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 获取...

    华为Android面试题1

    Activity 是 Android 中的基本组件,负责与用户交互,Service 是在后台运行的组件,Broadcast 是一种消息传递机制,BroadcastReceiver 是接收广播消息的组件,ContentProvider 是共享数据的组件,ContentResolver 是...

    《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 ...

Global site tag (gtag.js) - Google Analytics