安卓Service的使用
2015-11-19 09:05
204 查看
package com.example.service; 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.view.View; import android.widget.Toast; public class MainActivity extends Activity { MyBroadcast mybroadcast; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void start(View view) { Intent intent = new Intent(MainActivity.this, MyService.class); intent.putExtra("number", 1); startService(intent); // 启动service } public void stop(View view) { stopService(new Intent(MainActivity.this, MyService.class)); } public class MyBroadcast extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { int count = intent.getIntExtra("count", 0); System.out.println("*****" + count + "******"); Toast.makeText(context, "当前数字为:" + count, Toast.LENGTH_LONG).show(); // 显示service发来得数据 } } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(mybroadcast);// 取消注册 } @Override protected void onStart() { super.onStart(); mybroadcast = new MyBroadcast(); IntentFilter filter = new IntentFilter(); filter.addAction("com.cwb.ServiceActivity"); registerReceiver(mybroadcast, filter); // 注册Broadcast Receiver } } package com.example.service; import android.app.Service; import android.content.Intent; import android.os.IBinder; public class MyService extends Service { @Override public IBinder onBind(Intent intent) { return null; } @Override public void onCreate() { super.onCreate(); } @Override public void onStart(Intent intent, int startId) { System.out.println("service启动成功!!!"); int mynumber = intent.getIntExtra("number", 3); for (int i = 10; mynumber < i; mynumber++) { try { Thread.sleep(2000); } catch (InterruptedException e) { e.printStackTrace(); } Intent serviceIntent = new Intent(); serviceIntent.setAction("com.cwb.ServiceActivity"); serviceIntent.putExtra("count", mynumber); sendBroadcast(serviceIntent); // 每隔2秒发送一个广播到ServiceActivity } } }
相关文章推荐
- 清理mac系统内存方法
- c语言va_list snprintf 的实现
- Android 6.0系统新特性及功能说明
- 初步探究ES6之解构
- Python基础之字符串处理方法的总结
- Java Object 类源码分析
- Win10系统关机后电源灯一直亮该怎么办?
- Spring 使用注解集成Log
- 一周开发app__Android开源计划
- 【Educational Codeforces Round 1A】【水题】Tricky Sum 1~n之和减去2的幂
- java学习笔记#从控制台输入整数,输出最大最小值,直到输入0结束
- 最不要命十件小事
- 每间隔N秒执行的线程
- ssh框架整合中出现的问题
- vmware workstation与WIFI共享大师
- libcurl教程
- XCode快捷键
- MySQL5.6.12源码编译安装详细过程
- 单片机裸奔框架1
- 跟我学习javascript的作用域与作用域链