Android启动服务无需启动应用程序?

时间:2012-06-08 08:28:31

标签: android service

是否可以在不启动应用程序的情况下启动服务?我需要至少每小时更新一次我的应用程序数据,如果我的应用程序中没有用户,我怎么能这样做呢?

2 个答案:

答案 0 :(得分:8)

您可以在启动时启动服务。 您需要在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>  

在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);
    }
  }

答案 1 :(得分:1)

是的,这是可能的。

您可以阅读有关这样做的不同方法here