我初学者使用android,我想让我的应用程序在后台运行循环行为,即使它已关闭。 有人能帮我吗? 谢谢!
答案 0 :(得分:1)
您需要创建后台服务。请注意,您还需要创建一个在此服务运行期间可见的通知:
public class BgService extends Service {
@Override
public int onStartCommand(Intent i, int flags, int startId) {
startForeground(C.MAIN_SERVICE_NOTIFICATION_ID, buildNotification(getString(R.string.service_title)));
return START_NOT_STICKY;
}
protected Notification buildNotification(String content) {
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setTicker(getString(R.string.app_name))
.setContentTitle(getString(R.string.app_name))
.setContentText(content)
.setSmallIcon(R.drawable.notification_icon)
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.app_icon))
.setWhen(System.currentTimeMillis())
.setAutoCancel(false)
.setOngoing(true)
.setContentIntent(pendingIntent);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN)
builder.setPriority(Notification.PRIORITY_HIGH);
Notification notification = builder.build();
notification.flags |= Notification.FLAG_NO_CLEAR;
return notification;
}
}
您可以从应用程序启动此服务:
public class MyApp extends Application {
@Override
public void onCreate() {
startService(new Intent(this, BgService.class));
}
}