动态改变UI界面:
Activity:
public class MainActivity extends Activity implements OnClickListener {
private BroadcastReceiver br = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
int val = intent.getIntExtra("name", 0);
tv.setText(val + "");
}
};
private Button startbtn, stopbtn;
private TextView tv;
private Intent i;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 动态注册
registerReceiver(br, new IntentFilter("Action1"));
startbtn = (Button) findViewById(R.id.start);
stopbtn = (Button) findViewById(R.id.stop);
tv = (TextView) findViewById(R.id.tv);
startbtn.setOnClickListener(this);
stopbtn.setOnClickListener(this);
i = new Intent(MainActivity.this, MyService.class);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.start:
startService(i);
break;
case R.id.stop:
stopService(i);
break;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(br);// 取消注册
}
}
Service:
public class MyService extends Service {
private Timer timer;
private TimerTask task;
private int j = 0;
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
startTimer();
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
stopTimer();
super.onDestroy();
}
public void startTimer() {
timer = new Timer();
task = new TimerTask() {
@Override
public void run() {
j++;
Intent i = new Intent();
i.setAction("Action1");
i.putExtra("name", j);
sendBroadcast(i);
}
};
timer.schedule(task, 1000, 1000);
}
public void stopTimer() {
timer.cancel();
}
}
服务一定要记得在配置文件中注册,广播动态注册
运行结果:
本文介绍了Android -- Activity 、Service、BroadcastReceiver 的综合使用,希望本文对读者有所帮助,感谢阅读本文。更多
安卓技术问题欢迎加群探讨:
278744577,验证码:
csl,不写验证不予通过哟~
分享到:
相关推荐
Android:Intent页面跳转,Activity生命周期,Service服务,广播代码实例
Now you can launch an explicit Activity like this: SmartGo.from(this) .to(ExplicitActivity.class) .shareElements() .like(v) .withSystemUI() .go(); or an implicit Activity like: SmartGo.from(this)...
无法在插件中注册一些具有特殊Intent Filter的Service、Activity、BroadcastReceiver、ContentProvider等组件以供Android系统、已经安装的其他APP调用。 - f. 缺乏对Native层的Hook,对某些带native代码的apk支持...
android 5大组件的应用案例 Activity Intent Service Broadcastreceiver ContentProvider android 5大组件的应用案例 Activity Intent Service Broadcastreceiver ContentProvider android 5大组件的应用案例 ...
Android 使用Service和BroadcastReceiver实现音乐播放功能 Service demo中service使用得是新的进程,activity和service日志需要切换进程才能看到,这里是最典型得activity和service交互的过程, activity传递信息很简单...
一个结合了用service获得GPS信息,并用service将gps写入sqlite的gps表里,并用service通过broadcast发送经纬度信息给activity接收,activity通过BroadcastReceiver接收到service发送过来的经纬度信息后,在activity...
(Activity, BroadcastReceiver, Service, Fragment or others), declare fields with @AutoBundleField. Here is example for Activity. public class MyActivity extends Activity { // field with @AutoBundl
我个人认为 ,李刚的疯狂android讲义 讲的比较详细的,还有两个实战项目,以下是与代码对应的本书目录 第1章 Android应用与开发环境 1.1 Android的发展和历史 1.1.1 Android的发展和简介 1.1.2 Android平台架构...
一个Android事件分发中心库,基于对象池及接口回调实现。实现类似BroadcastReceiver/RxBus/EventBus等的消息事件传递功能,用于在Activity/Fragment/Service之间的消息传递通讯。
Android四大核心组件 Activity、BroadcastReceiver、Service、ContentProvider
Android开发是为Google的Android操作系统创建应用程序的过程。Android是目前全球智能手机和平板电脑市场上最流行的操作系统之一。...它可以启动其他组件,如Activity、Service或BroadcastReceiver。
本章内容服务(Service)是Android系统中4个应用程序组件之一(其他的组件详见3.2节的内容)。服务主要用于两个目的:后台运行和跨进程访问。通过启动一个服务,可以在不显示界面的前提下在后台运行指定的任务,这样...
播放音乐,我们需要在AndroidManifest.xml文件添加权限 创建Service,需要在AndroidManifest.xml...Activity部分代码: package com.example.ch8; import androidx.appcompat.app.AppCompatActivity; import an
android日历代码 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器
Service的生命周期 绑定Activity和Service 在BroadcastReceiver中启动Service 系统服务 时间服务 在线程中更新GUI组件 AIDL服务 在AIDL服务中传递复杂的数据
文档里边对android组件Activity、Service、BroadcastReceiver、ContentProvider和Intent分析的非常详细,对快速学习android提供很大的帮助。
服务(Service) - 相当于后台运行的 Activity 广播(Broadcast) - 用于发送广播 广播接收器(BroadcastReceiver) - 用于接收 ContentProvider-用于应用间共享数据 Intent - 用于连接以上各个组件,并在其间传递消息