我需要编写在后台运行的简单的Android应用程序并阅读任何短信息 - 并对来自电话号码XXXX的按摩做一些改变。
此应用程序不需要任何GUI - 所以我不需要使用任何活动。
我在Eclipse上开始了一个新项目,没有选项来定义项目将是服务 - 只需将其定义为活动。
如何启动项目成为服务?
答案 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