如何在android上启动服务项目?

时间:2012-01-11 14:53:33

标签: android

我需要编写在后台运行的简单的Android应用程序并阅读任何短信息 - 并对来自电话号码XXXX的按摩做一些改变。

此应用程序不需要任何GUI - 所以我不需要使用任何活动。

我在Eclipse上开始了一个新项目,没有选项来定义项目将是服务 - 只需将其定义为活动。

如何启动项目成为服务?

2 个答案:

答案 0 :(得分:6)

添加到AndroidManifest.xml:

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

<service android:name=".YourService" />

<receiver android:name="com.your.package.AutoStart">  
    <intent-filter>  
        <action android:name="android.intent.action.BOOT_COMPLETED" />  
    </intent-filter>  
</receiver>

创建类AutoStart.java:

public class AutoStart extends BroadcastReceiver
{

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

}

操作系统将在设备启动时调用AutoStart.onReceive()方法。请注意,这可能是在安装SD卡之前。当您安装apk时,系统将查看您的清单,您的应用程序将在系统中注册,以便您在启动时启动。

答案 1 :(得分:1)

开发人员指南中有关于如何执行此操作的信息。您必须指定应用程序是其清单中的服务。从指南:

  

要声明您的服务,请添加一个元素作为其子元素    元件。例如:

<manifest ... >
  ...
  <application ... >
      <service android:name=".ExampleService" />
      ...
  </application>
</manifest>

这是链接: http://developer.android.com/guide/topics/fundamentals/services.html