我想创建一个小应用程序,在后台记录数据。所以我试着用绑定服务。这很好,但如果我关闭应用程序,服务也会停止。< br >那么,我的问题是:使用即时服务来执行这一操作是不是一个好方法?当应用程序关闭时,我如何保持服务在后台运行(我也想在启动后启动它)?
查看系统应用程序上的此链接。
如果应用程序不是系统应用程序,Android可以在低内存情况下破坏进程,这包括服务。否则,请检查应用程序服务的startForeground()。
您可以尝试以下操作:
public class ServiceBackground extends Service {
@Override
public IBinder onBind( final Intent arg0 ) {
return null;
}
@Override
public void onCreate() {
final ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor( 1 ); // Number of threads keep in the pool
executor.scheduleAtFixedRate( new Runnable() {
@Override
public void run() {
Log.i( "LocalService", "service running" );
if (stopCondition == true ) {
executor.shutdownNow();
}
}
}, 1, 1000, TimeUnit.MILLISECONDS );
super.onCreate();
}
@Override
public int onStartCommand( final Intent intent, final int flags, final int startId ) {
return Service.START_STICKY;
}
}
记住在AndroidManifest.xml中注册服务
有关定时线程池检测器的详细信息
正在启动服务
public class MainActivity extends Activity {
@Override
protected void onCreate( final Bundle savedInstanceState ) {
super.onCreate( savedInstanceState );
this.setContentView( R.layout.activity_main );
this.startService( new Intent( this, ServiceBackground.class ) );
}
}
7.1 ABP后台服务 - 后台作业和后台工人 7.1.1 简介 ABP提供了后台作业和后台工人,来执行应用程序中的后台线程的某些任务。 7.1.2 后台作业 由于各种各样的原因,你需要后台作业以队列和持久化的方式来排队执行某些任务。 例如: 用户等待执行一个长时任务。例如:某个用户按下了报表按钮生成一个需要长时间等待的报表。你添加这个工作到队列中,当报表生成完毕后,发送报表结果到该用户的邮箱。
链接 后台作业和后台工人 集成Hangfire 集成Quartz
问题内容: 我正在尝试使用后台服务拍摄屏幕截图。该服务就像一个Facebook聊天头,但是我希望它在单击时拍摄屏幕截图。 预览图片 我已经开发了一些代码,但是没有用。我尝试过的最后一个是: 但是正在将屏幕截图带到我的按钮而不是屏幕上。 我知道问题在这里: 但我不知道如何解决。谁能帮我? 我实际上正在使用Android Studio 2.2.2和Android 4.0或更高版本。 问题答案: 对于L
如何在Android奥利奥继续后台服务而不显示通知点?我使用通知继续我的后台服务,但我不想显示运行服务的通知。
尽管在最初我也想去写一篇文章来说说后台的发展史,后来想了想还是让我们把它划分成不同的几部分。以便于我们可以更好的说说这些内容,不过相信这是一个好的开始。 RESTful与服务化 设计RESTful API REST从资源的角度来观察整个网络,分布在各处的资源由URI确定,而客户端的应用通过URI来获取资源的表征。获得这些表征致使这些应用程序转变了其状态。随着不断获取资源的表征,客户端应用不断地在转
问题内容: 如何在不显示通知点的情况下继续在Android Oreo中进行后台服务?我使用通知继续后台服务,但我不想显示正在运行的服务的通知。 问题答案: 如果您可以在此处的某处正确阅读 Android Oreo 8.0 文档,则可能未在此处发布此问题。 步骤1: 确保您将服务作为前台启动,如以下代码所示 步骤2: 使用通知显示您的服务正在运行。在的方法中的代码下面添加一行。 步骤3:在服务停止或