Q:

Android - Launching Activity from Notification

I'm writing a time tracker app that starts an unbound foreground service to keep the user informed about the elapsed time. 
The service runs smoothly and everything works like a charm... EXCEPT for one thing! 
When the user clicks on the notification the apps main activity should start. 
According to Androids documentation (https://developer.android.com/training/notify-user/navigation) this code should work, but it just starts the Android Settings Activity for the app. 
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
}

The manifest.xml looks like this:
<? 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>

Any ideas why this happens?  Your help is very appreciated :)

A:

The only change I've done to make your code work - is to add method "setSmallIcon" to your notificationBulider (but I couldn't find in official documentation any mention about such kind of affection of this method):
val notification: Notification = NotificationCompat. Builder(this, channelID)
        .setContentTitle(CHANNEL_NAME)
        .setContentText("My wonderful Text")
        .setPriority(PRIORITY_LOW)

        .setSmallIcon(R.drawable.ic_launcher_background) // line added

        .setContentIntent(pendingIntent)
        .build()

