我正在使用Android设备.当我打开设置>应用>运行,对一个选项左上屏幕上看到:(1)运行的进程(2)缓存的后台进程.我想要运行的应用程序(24×7)不幸地列在(2)缓存的后台进程中,我希望它/它们列在(1)运行进程下(如果有可能) ).可以吗?或者简而言之,如何使Android应用程序始终在后台运行?
我希望我转达了这个问题:-)
您必须在Application类中启动服务才能始终运行它.如果您这样做,您的服务将始终运行.即使用户从任务管理器终止您的应用程序或强制停止您的应用程序,它也会再次开始运行.
创建服务:
public class YourService extends Service { @Nullable @Override public IBinder onBind(Intent intent) { return null; } @Override public int onStartCommand(Intent intent, int flags, int startId) { // do your jobs here return super.onStartCommand(intent, flags, startId); } }
创建一个Application类并启动您的服务:
public class App extends Application { @Override public void onCreate() { super.onCreate(); startService(new Intent(this, YourService.class)); } }
不要忘记在AndroidManifest.xml的"application"标签中添加它
android:name=".App"
UPDATE
在Android Oreo之后,Google引入了一些背景限制.因此,上述解决方案可能无法正常工作.当用户从任务管理器中杀死您的应用时,Android系统也会终止您的服务.如果您想运行一个在后台始终存在的服务.您必须运行前台服务并显示正在进行的通知.因此,请按以下方式编辑您的服务.