activity-android中启动服务的问题

问题描述

android中启动服务的问题
我想在一个活动开始时调用一个服务。
这是Service class:

public class UpdaterServiceManager extends Service {private final int UPDATE_INTERVAL = 60 * 1000;private Timer timer = new Timer();  private static final int NOTIFICATION_EX = 1;private NotificationManager notificationManager;public UpdaterServiceManager(){}@Overridepublic IBinder onBind(Intent intent) {    // TODO Auto-generated method stub    return null;}@Override   public void onCreate() {  //code to execute when the service is first created}   @Override   public void onDestroy() {       if (timer != null){        timer.cancel();    } }@Overridepublic int onStartCommand(Intent intent int flags int startid) {      notificationManager = (NotificationManager)     getSystemService(Context.NOTIFICATION_SERVICE);    int icon = android.R.drawable.stat_notify_sync;    CharSequence tickerText = ""Hello"";    long when = System.currentTimeMillis();    Notification notification = new Notification(icon tickerText when);    Context context = getApplicationContext();    CharSequence contentTitle = ""My notification"";    CharSequence contentText = ""Hello World!"";    Intent notificationIntent = new Intent(this Main.class);    PendingIntent contentIntent = PendingIntent.getActivity(this     notification.setLatestEventInfo(context contentTitle         contentText contentIntent);    notificationManager.notify(NOTIFICATION_EX notification);    Toast.makeText(thisStarted!"" Toast.LENGTH_LONG);    timer.scheduleAtFixedRate(new TimerTask() {        @Override        public void run() {            // Check if there are updates here and notify if true        }           } 0 UPDATE_INTERVAL);    return START_STICKY;}private void stopService() {    if(timer != null)        timer.cancel();}}

这是调用Service的方法:

Intent serviceIntent = new Intent();        serviceIntent.setAction(""cidadaos.cidade.data.UpdaterServiceManager"");        startService(serviceIntent);

可结果是没有调用成功。上面的代码块是在activity中的onCreate方法里调用的。我调试过了也没有抛出异常。
请大牛指点错误之处,谢谢。

解决方案

检查下看在Manifest中有没有注册这个Service,我有时候会忘记注册,导致花了很长时间来解决。

解决方案二:

startService(new Intent(this MyService.class));<application    android:icon=""@drawable/ic_launcher""    android:label=""@string/app_name"" >    ...    <service        android:name="".MyService""        android:label=""My Service"" >    </service></application>
时间: 2024-10-09 17:57:04

activity-android中启动服务的问题的相关文章

Android 中启动自己另一个程序的activity如何实现

Android 中启动自己另一个程序的activity如何实现 可以使用action,举例: 1. 比如建立activity4,我们对它的AndroidManifest.xml修改一下 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:<a href="http://lib.csdn.net/base/android" rel="external nof

android中启动一个Activtity的问题

问题描述 android中启动一个Activtity的问题 startActivity(Intent)和startActivityForResult(Intent)启动一个Activity //有区别吗? startService(Intent)和bindService(Intent)启动一个service //有区别吗? 解决方案 startActivityForResult与startActivity的不同之处在于: 1, startActivity( ) 仅仅是跳转到目标页面,若是想跳回当

android:启动服务,广播(最高优先窃听信息)并转发给别人

3.1.Service服务 Service类似Activity,实际上就是一个没有界面的Activity,而且默认不会随着程序关闭而关闭. 开发人员自定义的服务类一般用来完成一些安全软件的一些监听功能,以及消息提示,流氓软件的功能. 系统服务则是通过类似getSystemService()的方法来取得系统的一些服务管理类(XxxxManager),来调用系统处理好的功能完成自己需要的操作,例如:电话监听,连接状态的判断等. 如果想自己编写一个服务类,可以建立一个类,继承Service,并覆写相应

详解Android中Service服务的基础知识及编写方法_Android

首先,让我们确认下什么是service?         service就是android系统中的服务,它有这么几个特点:它无法与用户直接进行交互.它必须由用户或者其他程序显式的启动.它的优先级比较高,它比处于前台的应用优先级低,但是比后台的其他应用优先级高,这就决定了当系统因为缺少内存而销毁某些没被利用的资源时,它被销毁的概率很小哦. 那么,什么时候,我们需要使用service呢?        我们知道,service是运行在后台的应用,对于用户来说失去了被关注的焦点.这就跟我们打开了音乐播

详解Android中Service服务的基础知识及编写方法

首先,让我们确认下什么是service? service就是android系统中的服务,它有这么几个特点:它无法与用户直接进行交互.它必须由用户或者其他程序显式的启动.它的优先级比较高,它比处于前台的应用优先级低,但是比后台的其他应用优先级高,这就决定了当系统因为缺少内存而销毁某些没被利用的资源时,它被销毁的概率很小哦. 那么,什么时候,我们需要使用service呢?         我们知道,service是运行在后台的应用,对于用户来说失去了被关注的焦点.这就跟我们打开了音乐播放之后,便想去

android 开机启动服务。

今天我们主要来探讨android怎么让一个service开机自动启动功能的实现.Android手机在启动的过程中会触发一个Standard Broadcast Action,名字叫android.intent.action.BOOT_COMPLETED(记得只会触发一次呀),在这里我们可以通过构建一个广播接收者来接收这个这个action.下面我就来简单写以下实现的步骤:       第一步:首先创建一个广播接收者,重构其抽象方法 onReceive(Context context, Intent

汇总Win7旗舰版系统中启动服务界面的技巧

windows系统服务管理是包含了计算机操作系统和应用程序提供的所有服务,而众多的系统服务并非都是用户所需要的,因此很多用户习惯通过禁用那些没有别要的服务实现开机加速与优化系统性能.因此小编为大家整合了关于系统中打开服务界面的方法汇总,赶快来看看吧 方法一: 1.按"WIN+R"快捷键,打开"运行"窗口,输入"services.msc"指令,按"确定"后就直接打开服务界面了. 方法二: 1.在桌面上,右键单击"计算机

Android中查看服务是否开启的工具类

 这个也是昨天学习的,做下总结. 检查服务是否开启要写成一个工具类,方便使用,传服务的名字返回Boolean值,当然,因为需要,还要传一个上下文context. 说一下这个工具类的几个关键点: 1.方法要传context和serviceName,context用来getSystemService()操作获得ActivityManager.注意,这个方法参数要用大写的Context中的参数:Context.ACTIVITY_SERVICE,要不然会出错,还不知道哪错的,花了我10分钟的时间才知道,

android 中service的简单事例

源码 public class ServiceDemoActivity extends Activity { private static final String TAG = "ServiceDemoActivity"; Button bindBtn; Button startBtn; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setC