chore: rename project
This commit is contained in:
69
app/src/main/java/com/logitech/vc/kirbytest/BLEService.kt
Normal file
69
app/src/main/java/com/logitech/vc/kirbytest/BLEService.kt
Normal file
@@ -0,0 +1,69 @@
|
||||
package com.logitech.vc.kirbytest
|
||||
|
||||
import android.app.NotificationChannel
|
||||
import android.app.NotificationManager
|
||||
import android.app.PendingIntent
|
||||
import android.app.Service
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Build
|
||||
import android.os.IBinder
|
||||
import androidx.core.app.NotificationCompat
|
||||
import androidx.core.content.ContextCompat
|
||||
|
||||
class BLEService : Service() {
|
||||
private val CHANNEL_ID = "BLEService Kotlin"
|
||||
|
||||
companion object {
|
||||
|
||||
fun startService(context: Context, message: String) {
|
||||
val startIntent = Intent(context,
|
||||
BLEService::class.java)
|
||||
startIntent.putExtra("inputExtra", message)
|
||||
ContextCompat.startForegroundService(context, startIntent)
|
||||
}
|
||||
|
||||
fun stopService(context: Context) {
|
||||
val stopIntent = Intent(context, BLEService::class.java)
|
||||
context.stopService(stopIntent)
|
||||
}
|
||||
}
|
||||
|
||||
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
|
||||
|
||||
//do heavy work on a background thread
|
||||
val input = intent?.getStringExtra("inputExtra")
|
||||
createNotificationChannel()
|
||||
val notificationIntent = Intent(this, MainActivity::class.java)
|
||||
|
||||
val pendingIntent: PendingIntent =
|
||||
Intent(this, MainActivity::class.java).let { notificationIntent ->
|
||||
PendingIntent.getActivity(this, 0, notificationIntent,
|
||||
PendingIntent.FLAG_IMMUTABLE)
|
||||
}
|
||||
val notification = NotificationCompat.Builder(this, CHANNEL_ID)
|
||||
.setContentTitle("BLEService Service Kotlin Example")
|
||||
.setContentText(input)
|
||||
//.setSmallIcon(R.drawable.ic_notification)
|
||||
.setContentIntent(pendingIntent)
|
||||
.build()
|
||||
|
||||
startForeground(1, notification)
|
||||
//stopSelf();
|
||||
return START_NOT_STICKY
|
||||
}
|
||||
|
||||
override fun onBind(intent: Intent): IBinder? {
|
||||
return null
|
||||
}
|
||||
|
||||
private fun createNotificationChannel() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||
val serviceChannel = NotificationChannel(CHANNEL_ID, "BLEService Service Channel",
|
||||
NotificationManager.IMPORTANCE_DEFAULT)
|
||||
|
||||
val manager = getSystemService(NotificationManager::class.java)
|
||||
manager!!.createNotificationChannel(serviceChannel)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user