1
A
回答
5
首先,你需要的许可,您的清单:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
此外,在您的清单,定义服务和监听引导完成的动作:
<service android:name=".MyService" android:label="My Service">
<intent-filter>
<action android:name="com.myapp.MyService" />
</intent-filter>
</service>
<receiver
android:name=".receiver.StartMyServiceAtBootReceiver"
android:enabled="true"
android:exported="true"
android:label="StartMyServiceAtBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
然后,你需要定义将获得BOOT_COMPLETED操作并启动服务的接收器。
public class StartMyServiceAtBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
Intent serviceIntent = new Intent("com.myapp.MySystemService");
context.startService(serviceIntent);
}
}
}
现在你的服务应该在手机启动时运行。
0
下面是完整的工作示例代码,
AndroidManifest.xml中
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.practice" android:versionCode="1" android:versionName="1.0">
<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".AutoStartExampleActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="AutoStart"></receiver>
<receiver android:name=".AutoStart">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
</application>
</manifest>
AutoStartExampleActivity文件
package com.practice;
import android.app.Activity;
import android.os.Bundle;
public class AutoStartExampleActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
广播接收器代码,
package com.practice;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class AutoStart extends BroadcastReceiver
{
public void onReceive(Context context, Intent intent)
{
System.out.println ("Application Started");
// put your TimerTask calling class here
try
{
Intent myIntent = new Intent (context, AutoStartExampleActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myIntent);
}
catch (Exception e)
{
System.out.println (" Error while Starting Activity " + e.toString());
}
}
}
相关问题
- 1. 在启动时启动应用程序
- 2. 在Windows启动时启动应用程序启动
- 3. 计时器在应用程序启动时自动启动
- 4. 在RN系统启动时自动启动应用程序
- 5. 仅在应用程序第一次启动时启动活动
- 6. 如何在应用程序启动时自动启动Delayed_Job?
- 7. 如何在Windows启动时自动启动应用程序?
- 8. 代码自动在Windows启动时启动Java应用程序
- 9. 在应用程序启动时自动启动sidekiq(RoR)
- 10. 在启动/启动时自动启动应用程序的首选方法?
- 11. 如何在应用程序启动时“自动”启用GPS?
- 12. 使用python3在mac osx启动时启动应用程序?
- 13. android启动应用程序启动时的相机活动或同时启动
- 14. iPad:在应用程序启动时启动外部应用程序
- 15. Azure应用服务 - 启动时弹出启动应用程序
- 16. 启动应用程序时启动屏幕时应用程序已停止
- 17. 在启动应用程序
- 18. 在应用程序启动
- 19. 如何在Android应用程序启动时启动服务?
- 20. 如何在u启动x时立即启动应用程序?
- 21. 在AWS的AMI启动时启动C应用程序Elastic Beanstalk
- 22. 如何在应用程序启动时启动Android服务?
- 23. Android应用程序无法在启动时启动
- 24. 如何在启动设备时启动应用程序?
- 25. iOS在启动时启动后台应用程序
- 26. 在启动时启动应用程序的最佳方式?
- 27. 在应用程序启动时停止已启动的服务
- 28. 在应用程序启动失败时启动视频iOS
- 29. 如何在启动时启动plack应用程序
- 30. 如何在手机启动时启动Android应用程序?