Я разработал услугу, которая должна начинать автоматически, когда Smart TV начинается, но он не начинается. Я также сделал владелец устройства приложения, используя команду ADB. Ниже приведен код службы Manifest и BootReceiver: < /p>
=====================================================================================
class BootReceiver : BroadcastReceiver() {
private val TAG = "MyApp"
override fun onReceive(context: Context, intent: Intent) {
Log.d(TAG, "Boot completed received: ${intent.action}")
if (intent.action == Intent.ACTION_BOOT_COMPLETED ||
intent.action == Intent.ACTION_LOCKED_BOOT_COMPLETED||
intent.action == Intent.ACTION_MY_PACKAGE_REPLACED) {
Log.d(TAG, "Trying to start monitoring service")
//context.startService(Intent(context, SettingsMonitorService::class.java))
val serviceIntent = Intent(context, SettingsMonitorService::class.java)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
context.startForegroundService(serviceIntent)
} else {
context.startService(serviceIntent)
}
///Toast.makeText(this, "Monitoring started", Toast.LENGTH_SHORT).show()
Log.d(TAG, "Monitoring service started")
}
}
}
< /code>
[*] Служба начинается только в том случае, если я открываю свое приложение вручную, так как я также добавил логику, чтобы запустить службу в mainactivity.kt. < /p>
< /li>
Во время загрузки = 'com.example.myapp' ...
broadcastaction = 'android.intent.action.boot_completed' ...
isautostart = 'true',
isally = 'false',
sanys = 'callee_does't_have_op_auto_start_permission. 'callee_does't_have_op_auto_start_permission.'
Как предоставить это разрешение (op_auto_start) и исправить проблему?>
Подробнее здесь: https://stackoverflow.com/questions/797 ... after-boot