实现service与activity分离

来源:互联网 发布:数据库集群是啥意思 编辑:程序博客网 时间:2024/06/05 02:07

在Mainfest.xml里注册

        <service            android:name=".application.model.MyService"            android:enabled="true"            android:process=":myservice" />
编写service

MyService.java

在这个service里我们写了一个定时器,隔一段时间会弹一个toast信息。

import android.app.Service;import android.content.Intent;import android.os.Handler;import android.os.IBinder;import android.os.Message;import android.util.Log;import android.widget.Toast;import java.util.Timer;import java.util.TimerTask;public class MyService extends Service {    Timer timer = new Timer();    public MyService() {    }    @Override    public IBinder onBind(Intent intent) {        // TODO: Return the communication channel to the service.        throw new UnsupportedOperationException("Not yet implemented");    }    @Override    public int onStartCommand(Intent intent, int flags, int startId) {        Log.d("tag","start service for me ");        timer.schedule(mTimerTask,1000,5000);        return super.onStartCommand(intent, flags, startId);    }    TimerTask mTimerTask=new TimerTask() {        @Override        public void run() {            Message message=new Message();            message.what=1;            handler.sendMessage(message);        }    };    Handler handler=new Handler(){        public void handleMessage(Message msg){            if (msg.what==1){                Toast.makeText(getApplicationContext(),"service 正在运行",Toast.LENGTH_SHORT).show();            }            super.handleMessage(msg);        }    };}

调用的地方很重要!!

        Intent intent = new Intent(getBaseContext(), MyService.class);        getBaseContext().startService(intent);


0 0
原创粉丝点击