forked from upstream-mirrors/OpenTracks
Fix for Android O and above.
This commit is contained in:
+18
-4
@@ -16,6 +16,9 @@
|
|||||||
|
|
||||||
package com.google.android.apps.mytracks.services;
|
package com.google.android.apps.mytracks.services;
|
||||||
|
|
||||||
|
import android.app.Notification;
|
||||||
|
import android.app.NotificationChannel;
|
||||||
|
import android.app.NotificationManager;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.app.Service;
|
import android.app.Service;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
@@ -27,6 +30,7 @@ import android.location.Location;
|
|||||||
import android.location.LocationManager;
|
import android.location.LocationManager;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Binder;
|
import android.os.Binder;
|
||||||
|
import android.os.Build;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
import android.os.PowerManager.WakeLock;
|
import android.os.PowerManager.WakeLock;
|
||||||
@@ -484,10 +488,20 @@ public class TrackRecordingService extends Service {
|
|||||||
*/
|
*/
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
protected void startForegroundService(PendingIntent pendingIntent, int messageId) {
|
protected void startForegroundService(PendingIntent pendingIntent, int messageId) {
|
||||||
NotificationCompat.Builder builder = new NotificationCompat.Builder(this).setContentIntent(
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
pendingIntent).setContentText(getString(messageId))
|
NotificationChannel notificationChannel = new NotificationChannel(getString(R.string.my_tracks_app_name), getString(R.string.my_tracks_app_name), NotificationManager.IMPORTANCE_DEFAULT);
|
||||||
.setContentTitle(getString(R.string.my_tracks_app_name)).setOngoing(true)
|
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
|
||||||
.setSmallIcon(R.drawable.ic_stat_notify_recording).setWhen(System.currentTimeMillis());
|
assert manager != null;
|
||||||
|
manager.createNotificationChannel(notificationChannel);
|
||||||
|
}
|
||||||
|
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, getString(R.string.my_tracks_app_name))
|
||||||
|
.setContentIntent(pendingIntent)
|
||||||
|
.setContentText(getString(messageId))
|
||||||
|
.setContentTitle(getString(R.string.my_tracks_app_name))
|
||||||
|
.setOngoing(true)
|
||||||
|
.setSmallIcon(R.drawable.ic_stat_notify_recording)
|
||||||
|
.setCategory(Notification.CATEGORY_SERVICE)
|
||||||
|
.setWhen(System.currentTimeMillis());
|
||||||
startForeground(1, builder.build());
|
startForeground(1, builder.build());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user