开机自动启动Service,做这个烦恼我好几天了,是因为在服务中加了toast导致自启服务不成功

原创 2014年11月17日 17:02:19

服务的代码

MyService.java

package com.lzy.bootservice;

import android.app.Service;
import android.content.Intent;
import android.os.IBinder;

public class MyService extends Service{

	@Override
	public IBinder onBind(Intent arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public void onCreate() {
		// TODO Auto-generated method stub
		System.out.println("初始化service");
		super.onCreate();
	}

	@Override
	public void onDestroy() {
		// TODO Auto-generated method stub
		System.out.println("service灭亡");
		super.onDestroy();
	}

	@Override
	public void onStart(Intent intent, int startId) {
		// TODO Auto-generated method stub
		System.out.println("service 启动了");
		super.onStart(intent, startId);
	}
	
	
}

注册广播监听

BootBroadcastReceiver.java

package com.lzy.bootservice;

import android.content.BroadcastReceiver;  
import android.content.Context;  
import android.content.Intent;  
  
public class BootBroadcastReceiver extends BroadcastReceiver {  
  
	static final String ACTION = "android.intent.action.BOOT_COMPLETED";  
   
 	@Override  
	 public void onReceive(Context context, Intent intent) {  
	    
		  if (intent.getAction().equals(ACTION)){  
			  Intent i  = new Intent();
				i.setClass(context, MyService.class);
				context.startService(i);
				System.out.println("到这里?");
				
		  }  
	}  
}  

最后最重要的是要在项目清单文件中加入service以及广播注册监听receiver

清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.lzy.bootservice"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
    
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:label="@string/app_name"
            android:name=".BootServiceActivity" >
            <intent-filter >
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <receiver android:name=".BootBroadcastReceiver">  
		  <intent-filter>  
		    <action android:name="android.intent.action.BOOT_COMPLETED" />  
		   	</intent-filter>  
  		</receiver> 
  		<service android:name=".MyService" android:exported="true"></service>
    </application>

</manifest>


Linux中设置服务自启动的三种方式

有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务主要用三种方式进行这一操作: ln -s 在/etc/rc.d/rc*.d目录中建立/e...
  • deranotoo
  • deranotoo
  • 2016年12月05日 16:28
  • 879

CentOS 中设置服务开机自启

当我们刚打开计算机之后,就发现操作系统中已经运行了很多的程序,这些程序中有一些是操作系统的服务程序,有一些是第三方的服务比如,mysql服务,http服务等。如何有效的管理这些自启动服务是我们每一个L...
  • jack_nichao
  • jack_nichao
  • 2017年01月05日 15:08
  • 3500

android如何实现开机自动启动Service或app

第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intentintent),在其中启动你想要启动的Service或app。   import ...
  • dddxxxx
  • dddxxxx
  • 2017年01月14日 09:13
  • 2074

Linux中自启动某项服务

Linux自启动某项服务一.踩的坑由于我在电脑上重新安装Linux虚拟机,自信的我以为用了Linux这么久,应该没有什么难度,但是从我开始重新安装Linux系统才知道这么辣鸡的我。这里我就以开启SSH...
  • u014484863
  • u014484863
  • 2017年05月05日 12:15
  • 938

Android SERVICE后台服务进程的自启动和保持

Service组件在android开发中经常遇到,其经常作为后台服务,需要始终保持运行,负责处理一些必要(见不得人)的任务。而一些安全软件,如360等,会有结束进程的功能,如果不做Service的保持...
  • crissJs
  • crissJs
  • 2014年07月30日 09:39
  • 1741

Linux上Redis加入服务(开机自启)

网上有很多这些文章,但是都不完整,我自己实践成功让redis开机自动启动。一.先下载解压redis,然后进入utils目录 二.打开文件redis_init_script 三.根据实际环境重新写路...
  • lovejj1994
  • lovejj1994
  • 2016年11月09日 09:37
  • 4873

如何让你的Tomcat在开机时自动以服务的形式启动

一、首先让你的Tomcat成为一个服务 1、开始》运行中输入cmd,此时打开一个DOS命令行窗口 2、进入到Tomcat安装目录下的可执行文件的路径下,一般是:C:\Program Fil...
  • WaitForFree
  • WaitForFree
  • 2014年08月22日 16:02
  • 2389

Redis服务设置开机自启动

第一步: 第一步: 在 在/etc/init.d/目录下建立一个名字为 目录下建立一个名字为 redis 的启动脚本 的启动脚本 cd /etc/init.d touch redis 然后在这个...
  • Hu_wen
  • Hu_wen
  • 2016年12月21日 14:23
  • 2549

activemq安装及自启动方法

参考 魔夜听剑的博客,网址:http://www.cnblogs.com/zhi-leaf/p/5932011.html linux下下周tar.gz包 之后解压: tar -zxvf apache...
  • zyzn1425077119
  • zyzn1425077119
  • 2017年05月16日 16:31
  • 886

windows服务与自启动程序的区别

在客户端服务器项目实践中,作为服务端必须保持程序的24小时不间断运行,需要做一个监控,当监控到该程序已关闭时则重新启动下。      有两种方法可以实现这个功能: 第一是做windows服...
  • u012252959
  • u012252959
  • 2015年09月15日 18:22
  • 678
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:开机自动启动Service,做这个烦恼我好几天了,是因为在服务中加了toast导致自启服务不成功
举报原因:
原因补充:

(最多只允许输入30个字)