android service 启动关闭 示例
2015-01-01 15:34
267 查看
android四大组件之一:service
(activity,contenty provider,service,broadcast)
工程步骤:
1.在清单文件中添加service声明:
前台布局文件:
ok,按照此步骤可以生成一个简单的service示例。
(activity,contenty provider,service,broadcast)
工程步骤:
1.在清单文件中添加service声明:
<service android:name=".Service1"></service>2.service处理类:
package com.minifly.creation; import android.app.Service; import android.content.Intent; import android.os.IBinder; public class Service1 extends Service { @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub System.out.println("绑定service!!!!"); return null; } //service第一次调用的时候调用该方法。 //service启动之后再后台一直在运行,在此使用startservice时就只会对已经运行的service的数据部分覆盖。 public void onCreate(){ super.onCreate(); System.out.println("onCreate ----- 创建service!!"); } //如果我们现在activity中发送一些数据到service中,而且希望在其中进行处理,那么就应该在此函数中进行 //例如想选中音乐进行播放 public int onStartCommand(Intent intent,int flags,int startId){ System.out.println("启动命令------- startId:"+startId); System.out.println("启动命令--------flags :"+flags); return START_NOT_STICKY; } //销毁service的时候调用该方法。 可以在其中停掉一些线程,清理系统。 public void onDestroy(){ System.out.println("销毁service!!!"); super.onDestroy(); } }3.activity前台:
前台布局文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/btn1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/btn1" android:onClick="deal" /> <Button android:id="@+id/btn2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/btn2" android:onClick="deal" /> </LinearLayout>后台加载与处理类文件:
package com.minifly.creation; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Toast; public class ServiceTestActivity extends Activity { /** Called when the activity is first created. */ private Service1 service ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } public void deal(View v){ Intent intent = new Intent(); switch(v.getId()){ case R.id.btn1: intent.setClass(ServiceTestActivity.this,Service1.class); this.startService(intent); Toast.makeText(this, "启动service!",Toast.LENGTH_LONG).show(); break; case R.id.btn2: intent.setClass(ServiceTestActivity.this,Service1.class); this.stopService(intent); Toast.makeText(this, "关闭service!",Toast.LENGTH_LONG).show(); break; } } }
ok,按照此步骤可以生成一个简单的service示例。
相关文章推荐
- Android中怎么启动关闭Service及功能解释
- Android中怎么启动关闭Service及功能解释 .
- Android中怎么启动关闭Service及功能解释 .
- android开发 使用Action启动/关闭Service
- android service 启动和关闭不在同一个Activity的问题
- Android中如何让Service关闭后又自动启动
- android基础学习之service的启动和关闭细解
- 简单android Service 创建与启动示例
- Android中怎么启动关闭Service及功能解释 .
- android Service简介及启动关闭方式
- Android中怎么启动关闭Service及功能解释 .
- Android中怎么启动关闭Service及功能解释
- Android自动启动Service示例
- android开发教程之开机启动服务service示例
- 关于在android中service开发的IllegalArgumentException错误和服务无法启动的解释
- Android系统在新进程中启动自定义服务过程(startService)的原理分析 (下)
- 原创:Android怎么让一个service开机自动启动
- Android系统在新进程中启动自定义服务过程(startService)的原理分析
- Android系统在新进程中启动自定义服务过程(startService)的原理分析
- android 启动 service 的两种方法