service-想要在启动android的时候启动一个服务

问题描述

想要在启动android的时候启动一个服务

当一个device在android启动的时候我想要启动一个服务,但是我发现我实现不了

我已经在网上找了很久了,但是没有代码是可以用的。是我忘了什么么?这是我的代码。
Manifest

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>

<receiver   android:name=".StartServiceAtBootReceiver"
  android:enabled="true"
  android:exported="false"
  android:label="StartServiceAtBootReceiver">
  <intent-filter>
    <action android:name="android.intent.action._BOOT_COMPLETED"/>
   </intent-filter>
</receiver>
<service android:enabled="true" android:name="com.test.RunService"/>
Receiver OnReceive

public void onReceive(Context context, Intent intent)
{
  if("android.intent.action.BOOT_COMPLETED".equals(intent.getAction()))
  {
     Intent serviceLauncher = new Intent(context, RunService.class);
     context.startService(serviceLauncher);
     Log.v("TEST", "Service loaded at start");
  }
}

谢谢

解决方案

代码没错,LZ粗心了
注册中多了个“_“这样就是对的,
<action android:name="android.intent.action.BOOTCOMPLETED" />

解决方案二:

pby_bob的答案没错,但是我想弄一个完整的答案,希望对以后再看到这个问题的人能有帮助。
在你的AndroidManifest.xml文件中,你需要下边这些:
1) 在你的 元素中:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

2) 在你的元素(一定要给你的BroadcastReceiver用一个完全限定(或相对)的类名):

<receiver android:name="com.example.MyBroadcastReceiver">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>

(你不需要android:enabled, exported等等, android的默认值是正确的。)

在MyBroadcastReceiver.java里:

package com.example;

public class MyBroadcastreceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Intent startServiceIntent = new Intent(context, MyService.class);
        context.startService(startServiceIntent);
    }
}

最初的问题:

现在还不确定是否元素在元素里?
还不确定是否正确的给BroadcastReceiver指定了完全限定(或相对)的类名
在 中有个错误

时间: 2025-01-23 08:33:25

service-想要在启动android的时候启动一个服务的相关文章

Android startService如何启动自动解锁点亮屏幕

看到一个帖,做的笔记,帖子在:http://topic.csdn.net/u/20110304/15/ae5279b1-692e-48a7-a5b9-0e579a3a6974.html 我想记录的是: 做提醒功能的一个服务,自动解锁+亮屏. 写一个Activity启动该服务即可,用一个线程开启服务,要是黑屏的状态下启动才有效果. import android.app.KeyguardManager; import android.app.KeyguardManager.KeyguardLock;

如何检查电话呼叫服务是否在 android 设置中启动?

问题描述 如何检查电话呼叫服务是否在 android 设置中启动? 我想知道如何检查电话呼叫服务是否在 android 中不同设置中启动.我检查的设备是 Micromax Funbook(p300) Tablet(Android 4.0.3),这里没有呼叫服务,我用的下面的代码检查: TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); if (tm.getPhoneType()

启动-Android无法接收系统广播

问题描述 Android无法接收系统广播 Android程序怎么开机自动启动,Android无法接收系统广播,求解救 解决方案 第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intent intent),在其中启动你想要启动的Service或app. import android.content.BroadcastReceiver; import android.content.Context; import android.content

应用-android中 activity启动 和数据的传递问题

问题描述 android中 activity启动 和数据的传递问题 有以下两个activity 简称 A B .A是主界面,在A中的onDestory方法中,我删除了用户的临时数据,A里面有一个按钮 可以启动到B 在B里面查询一些数据 然后吧数据传递给A,A获取到数据之后,吧数据显示在A界面上,问题是:当B获取到数据之后,用startActivity(intent)启动到A 把数据传递过去的话 ,这样A就会重新创建一个实例,当我再次按back键返回到B时重新查询数据,这时A就调用了onDesto

分析Android Activity的启动过程

分析Android Activity的启动过程 对于Android Activity 的启动过程,我在Android源码中读了好久的源码,以下是我整理出来的Activity启动过程和大家分享下: Activity作为Android的四大组件之一,也是最基本的组件,负责与用户交互的所有功能.Activity的启动过程也并非一件神秘的事情,接下来就简单的从源码的角度分析一下Activity的启动过程. 根Activity一般就是指我们项目中的MainActivity,代表了一个android应用程序

Android跨应用启动实例详解

Android跨应用启动 前言: 相信大家,很多时候都是在自己的应用中,启动自己写的Activity,Service.BroadcastReceiver.contentProvider .换句话说,这些都只是 * 单个应用中 组件间 * 的启动.而我们下面要谈论的是 两个应用间 组件 的启动.即--使用 隐式Intent方式 启动应用B的某个组件. 一.在开始之前,先来梳理一下跨应用启动的2种方式: 第一种:在Activity中,启动另一个app的组件. 第二种:在Service中,启动另一个a

怎样用 JRebel 启动 Android

本文讲的是怎样用 JRebel 启动 Android, 只要你的项目相对较小,开发Android应用的用户体验还是很棒的.然而随着项目功能的增加,你会发现构建项目的时间也会随着增长.这种情况会导致你的大部分时间都花在如何更快的构建项目,而不是为应用增加更多的价值. 网上有很多教你如何加快Gradle构建速度的教程.有一些很好的文章,譬如"Making Gradle builds faster". 通过这些方法我们可以节省几秒甚至几分钟的构建时间,但是仍然存在一些构建上的瓶颈.举个例子,

android listview-Android Activity启动是让ListView第一个Item为展开状态

问题描述 Android Activity启动是让ListView第一个Item为展开状态 Activity启动是让ListView第一个Item为展开状态listView的Item有2(上.下)部分,加载时只显示上面的部分,点击后在显示下面的部分,我想在启动是第一个item是全部显示的,这样好给人一个提示. 谢谢 解决方案 设置一个boolean字段,在Adapter里面对这个字段进行判断,false时,某些layout或组件设置visibility为invisible点击之后,修改这个字段,

Android手机app启动的时候第一个Activity必须是MainActivity吗

原文:Android手机app启动的时候第一个Activity必须是MainActivity吗 Android手机APP启动的第一个Activity是可以自己设置的,不是必须的MainActivity,可以是任何的Activity. 设置Android手机APP启动的第一个Activity得看Android项目里的mainfest.xml文件: android.name属性值是由包名(com.example.login)+启动的Activity类名(Login)组成的,如果要修改APP启动的第一