首先做一个监听器:


      public class StartBroadcastReceiver extends BroadcastReceiver{    private static final String ACTION = "android.intent.action.BOOT_COMPLETED";    public void onReceive(Context context, Intent intent) {                    if (intent.getAction().equals(ACTION)){                            Intent i= new Intent(Intent.ACTION_RUN);                            i.setClass(context, TService.class);                            context.startService(i);                    }            }               }

然后再做一个service:

package com.testService;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.app.Service;import android.content.Intent;import android.os.Binder;import android.os.Handler;import android.os.IBinder;import android.util.Log;public class TService extends Service {    /**     * 创建Handler对象,作为进程传递postDelayed之用     */    private Handler objHandler = new Handler();    private int intCounter = 0;    private static final String TAG = "TService";    private NotificationManager notificationManager;    private Runnable mTasks = new Runnable() {    public void run() {    intCounter++;    Log.i("HIPPO", "Counter:" + Integer.toString(intCounter));    objHandler.postDelayed(mTasks, 1000);    }    };    public void onCreate() {    Log.d(TAG, "============> TService.onCreate");    notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);    showNotification();    super.onCreate();    }       public void onStart(Intent intent, int startId) {    Log.i(TAG, "============> TService.onStart");    objHandler.postDelayed(mTasks, 1000);    super.onStart(intent, startId);    }    public IBinder onBind(Intent intent) {    Log.i(TAG, "============> TService.onBind");    return null;    }    public class LocalBinder extends Binder {    public TService getService() {    return TService.this;    }    }    public boolean onUnbind(Intent intent) {    Log.i(TAG, "============> TService.onUnbind");    return false;    }    public void onRebind(Intent intent) {    Log.i(TAG, "============> TService.onRebind");    }    public void onDestroy() {    Log.i(TAG, "============> TService.onDestroy");    notificationManager.cancel(R.string.service_start);    objHandler.removeCallbacks(mTasks);    super.onDestroy();    }    private void showNotification() {    Notification notification = new Notification(R.drawable.icon,    "SERVICE START", System.currentTimeMillis());    Intent intent = new Intent(this, testService.class);    intent.putExtra("FLG", 1);    PendingIntent contentIntent = PendingIntent.getActivity(this, 0,    intent, 0);    notification.setLatestEventInfo(this, "SERVICE", "SERVICE START",    contentIntent);    notificationManager.notify(R.string.service_start, notification);    }}

做一个主程序:

package com.testService;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class testService extends Activity {       private Button button01;    private Button button02;    private int flg;    private Intent tsIntent;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);            setContentView(R.layout.main);    button01 = (Button)findViewById(R.id.Button01);    button02 = (Button)findViewById(R.id.Button02);        tsIntent = this.getIntent();    Bundle bundle = tsIntent.getExtras();        if (bundle == null){flg = 1;DisplayToast(this,"Service Start",2);startService();finish();    }else{    DisplayToast(this,"Service Stop",2);    stopService();    finish();    }        button01.setOnClickListener(Listener01);    button02.setOnClickListener(Listener02);    }Button.OnClickListener Listener01 = new OnClickListener(){    @Override    public void onClick(View v) {    // TODO Auto-generated method stub    startService();    }       };Button.OnClickListener Listener02 = new OnClickListener(){    @Override    public void onClick(View v) {    // TODO Auto-generated method stub    stopService();    }       };    private void startService() {    Intent i = new Intent(testService.this, TService.class);    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);    this.startService(i);    }    private void stopService() {    Intent i = new Intent(testService.this, TService.class);    this.stopService(i);    }    public static void DisplayToast(Context context , String str , int time){    if (time == 1){    //短时间显示Toast    Toast.makeText(context, str, Toast.LENGTH_SHORT).show();    }else if (time == 2){    //长时间显示Toast    Toast.makeText(context, str, Toast.LENGTH_LONG).show();    }    }}

后在androidmenfest.xml中注册一下接受广播器和服务以及开通权限:
接收广播器:

            <receiver android:name=".StartBroadcastReceiver">                <intent-filter>                    <action android:name="android.intent.action.BOOT_COMPLETED"/>                </intent-filter>            </receiver>

服务:

            <service android:name=".TService"                android:label="TService"                android:icon="@drawable/icon"                android:enabled="true"                android:exported="true"                android:process=":remote">            </service>



更多相关文章

  1. Android(安卓)GPS状态改变与监听
  2. Android使用HttpURLConnection显示网络图片
  3. [Android] Android(安卓)监听WIFI
  4. Android监听键盘显示和隐藏
  5. 15、android 用toast实现简单的进度显示
  6. [Android(安卓)UI界面] 怎样实现ListView分页效果?
  7. Android总结笔记
  8. android 键盘关闭/显示
  9. Android使用URLConnection显示网络图片

随机推荐

  1. android shape的使用
  2. Android(安卓)图片上传框架
  3. Android为什么能够超越iOS?
  4. Android(安卓)kotlin学习之----kotlin+re
  5. 彻底解决Android(安卓)GPS没法定位这一顽
  6. Android自定义View总结(一)基础知识与实例
  7. Android应用程序键盘(Keyboard)消息处理机
  8. Android基础入门教程——2.6 菜单(Menu)
  9. React Native 调用原生Android/iOS代码实
  10. Android随笔之——Android(安卓)ADB详解