原文来自:http://blog.163.com/shaocpa@126/blog/static/553577572012418103732417/
如果开机启动一个Activity,开机首先看的界面,是你的程序界面,如果为了,开机后也启动你的程序,但是不显示自己程序的界面
就要用的Service服务。
下面这个例子实现的功能是:
1,安装程序后看的一个Activity程序界面,里面有个按钮,点击按钮就会启动一个Service服务,此时在设置程序管理里面会看的有个Activity和一个Service服务运行
2,如果手机关机重启,会触发你的程序里面的Service服务,当然,手机启动后是看不到你的程序界面。好比手机里面自带的闹钟功能,手机重启看不到闹钟设置界面
只是启动服务,时间到了,闹钟就好响铃提醒。
程序代码是:
首先要有一个用于开机启动的Activity,给你们的按钮设置OnClickListener();
public class MainActivity extends Activity {
private Button btnstarted = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btnstarted = (Button)findViewById( R.id.btnstarted);
btnstarted.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this,StartService.class);
startService(intent);
Toast.makeText(MainActivity.this, "服务启动成功", Toast.LENGTH_LONG).show();
}
};
}
}
我们要编写一个BroadcastReceiver用以捕获ACTION_BOOT_COMPLETED这条广播,并在捕获之后启动我们要启动的服务StarServie.class
public class BootCompletedReceiver extends BroadcastReceiver{
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
Intent newIntent = new Intent(context,StartService.class);
context.startService(newIntent);
}
}
}
也启动的服务Service代码
public class StartService extends Service{
//public static String PHONENO;
public class LocalBinder extends Binder{
StartThief getService(){
return StartService.this;
}
}
public IBinder onBind(Intent intent){
return mBinder;
}
private void registerIntentReceiver(){
//此处添加启动服务要执行的操作代码
}
public void onStart(Intent intent,int startId){
super.onStart(intent, startId);
}
@Override
public void onCreate() {
registerIntentReceiver();
}
}
用到的Main.xml,里面只有一个Button ,id是btnstarted
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout 
android:id="@+id/AbsoluteLayout01" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android">
<Button android:layout_height="wrap_content" 
android:id="@+id/btnstarted" 
android:text="@string/started" 
android:layout_y="118dip" 
android:layout_width="wrap_content" 
android:layout_x="56dip">
</Button>
</AbsoluteLayout>
在AndroidManifest.xml配置文件中注册我们的BroadcastReceiver和服务Service
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.thief" android:versionCode="1"
android:versionName="1.0">
<application android:icon="@drawable/icon"
android:label="@string/app_name">
<activity android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category
android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
        //注册服务
<service android:name=".StartService"></service>
//为了获取开机启动这个动作,必须注册加上android.intent.action.BOOT_COMPLETED
<receiver android:name=".BootCompletedReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED">     
</action>
</intent-filter>
</receiver>
</application>
获取开机启动动作的权限permission
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>"
</manifest>

开机启动一个服务Service,启动后没有界面后台暗暗运行相关推荐

  1. swoole 启动流程_Swoole 启动一个服务,开启了哪些进程和线程?

    概述 Swoole 启动一个服务,开启了哪些进程和线程? 为了解决这个问题,咱们启动一个最简单的服务,一起看看究竟启动了哪些进程和线程? 然后结合官网运行流程图,对每个进程和线程进行归类. 服务启动后 ...

  2. 解决:服务正在启动 . RabbitMQ 服务无法启动。 系统出错。 发生系统错误 1067。 进程意外终止。

    问题描述 服务正在启动 . .RabbitMQ 服务无法启动. 系统出错. 发生系统错误 1067.进程意外终止. 解决方法 运行 RabbitMQ Service -(re)install 重新安装 ...

  3. 【已解决】MySQL 服务正在启动 MySQL 服务无法启动

    错误: > cd "C:\Program Files\MySQL\MySQL Server 8.0\bin" > mysqld -install > net st ...

  4. MySQL 服务正在启动 MySQL 服务无法启动

    win10, mysql8, zip免安装模式 查找mysql文档,CMD进入mysql/bin目录,输入net  start mysql 之前干嘛呢 按照操作网上常规步骤在mysql的根目录下编写m ...

  5. MySQL 服务正在启动 MySQL 服务无法启动解决途径

    解决方案: 1.删除自己手动创建的data文件夹: 2.管理员权限CMD的bin目录下,移除已错误安装的mysqld服务: mysqld -remove MySQL 出现删除成功! 3.在CMD的bi ...

  6. “MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。”的解决方案

    "MySQL 服务正在启动 . MySQL 服务无法启动. 服务没有报告任何错误."的解决方案 参考文章: (1)"MySQL 服务正在启动 . MySQL 服务无法启动 ...

  7. net start mysql 遇到 MySql 服务正在启动 MySql 服务无法启动 服务没有报告任何错误 解决方式

    这个问题我在这两天遇到了两三次,由于记性真的不太好,每次花很多时间解决之后,第二次再遇到又要重新检索解决方法.而且每次出现问题的小细节之处也都不相同. 因此在刚刚几分钟前再一次解决这个问题的时候,我就 ...

  8. net start mysql MySQL 服务正在启动 . MySQL 服务无法启动。 服务没有报告任何错误。

    在启动项目时,发现昨天能够跑的项目今天跑不了了.一看原来是mysql数据库出现了问题,远程数据库连不上了.那这可咋整啊?用管理员模式启动dos,输入net start mysql: 出现问题:MySQ ...

  9. mysql 无法启动14001_Mysql服务无法启动,解决办法。

    管理员身份运行 cmd D:\yinhai\Work\mysql\mysql-5.7.25-winx64\mysql-5.7.25-winx64\bin>net start mysql MySQ ...

最新文章

  1. 定时发送服务器运行数据并设置阀值警报方法
  2. 港湾命令行 配管理IP
  3. 工程造价步骤_极其全面!1247页安装工程造价与施工管理讲义,造价入门首选...
  4. aliyun maven 添加jar_gradle添加阿里云maven库
  5. HTML5自定义播放器(简式)
  6. 财务管理专业应该报计算机二级哪个科目,我是应该报计算机二级还是三级呢
  7. 直播短视频手机APP应用下载页面静态html网页模板
  8. 二叉树的应用 表达式处理_【每日编程208期】2018年408应用题41题
  9. 【Computer Organization笔记01】计算机组成原理课程要求、计算机的层次结构、计算机的发展历史
  10. 空卡安装设置树莓派4B并安装opencv+QT
  11. table内容保存到Excel中
  12. 东华大学计算机学院刘国华,计算机科学与技术学院2016级迎新大会顺利举行
  13. 软件测试视频教程下载:APP测试类型和方法
  14. 计算机图形图像处理应用教程,计算机图形图像处理——Photoshop实用教程
  15. java 视频截图_Java Web 中使用ffmpeg实现视频转码、视频截图
  16. password unchanged Authentication token manipulation error
  17. 微信小程序ssm电影院购票+后台管理系统|前后分离VUE
  18. 误删通话记录?这几个方法能恢复
  19. 共同好友(java)
  20. 微信小程序的简单登录

热门文章

  1. 【从零开始游戏开发】 开发环境准备 | Intellij idea 编辑器 | EmmyLua插件 | Unity引擎 | 编程语言
  2. 2021年智能制造工程设计与应用类赛项:离散行业自动化方向(2)-项目方案设计书
  3. 六问 Kafka 为啥那么牛!
  4. t检验、Wilcoxon 符号秩检验、Mann-Whitney 秩和检验 Python实现
  5. 遵化有教php基础知识,2019年河北省唐山市遵化市中小学语文教师招聘/编制考试历年真题试卷及答案解析...
  6. 福禄克铜缆测试参数:近端串扰和远端串扰参数之间的区别
  7. 翻煎饼问题swust oj~~~254
  8. 10年后6G将问世,速度有望比5G快100倍
  9. 【程序猿的黑科技】一些好玩的APP推荐
  10. Discuz插件下载-免费Discuz下载安装-Discuz插件附安装教程