Я пишу приложение для отслеживания времени, которое запускает несвязанный сервис переднего плана, чтобы держать пользователя в курсе истекшего времени. Сервис работает без сбоев, и все работает как шарм ... КРОМЕ за одну вещь! Когда пользователь нажимает на уведомление, должно начаться основное действие приложений. Согласно документации Android (https://developer.android.com/training/notify-user/navigation) этот код должен работать, но он просто запускает Android Настройка действий для приложения.
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
Log.d(TAG, "Started")
isRunning = true
val channelID = createNotificationChannel()
val pendingIntent: PendingIntent = Intent(this, MainActivity::class.java).let { notificationIntent ->
PendingIntent.getActivity(this, 0, notificationIntent, FLAG_UPDATE_CURRENT)
}
val notification: Notification = NotificationCompat.Builder(this, channelID)
.setContentTitle(CHANNEL_NAME)
.setContentText("My wonderful Text")
.setPriority(PRIORITY_LOW)
.setContentIntent(pendingIntent)
.build()
startForeground(FOREGROUND_ID, notification)
timer.scheduleAtFixedRate(TimedTask(), 0, 1000)
return super.onStartCommand(intent, flags, startId)
}
private fun createNotificationChannel(): String{
val chan = NotificationChannel(CHANNEL_ID,
CHANNEL_NAME, NotificationManager.IMPORTANCE_NONE)
chan.lightColor = Color.BLUE
chan.lockscreenVisibility = Notification.VISIBILITY_PRIVATE
val service = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
service.createNotificationChannel(chan)
return CHANNEL_ID
}
Манифест. xml выглядит как это:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.maybe.tima">
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name=".TimerService"
android:label="@string/app_name"
/>
</application>
</manifest>
Есть идеи, почему это происходит? Ваша помощь очень ценится:)