Olá, estou desenvolvendo uma POC onde preciso fazer o reboot do aparelho em determinado momento, e para isso preciso da respectiva permissão. Já adicionei a permissão no Manifest, fiz a lógica para validar se foi concedida e implementei um botão para pedir a permissão mas ela simplesmente não aparece.
Segue o código da minha aplicação:
<uses-permission android:name="android.permission.REBOOT" tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
AndroidManifest.xml
private fun isRebootPermissionGranted(): Boolean{
return ContextCompat.checkSelfPermission(
this,
android.Manifest.permission.REBOOT
) == PackageManager.PERMISSION_GRANTED
}
private fun requestPermission() {
if(!isRebootPermissionGranted()){
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
requestPermissions(arrayOf(android.Manifest.permission.REBOOT), requestCode)
}
}
...
val button = findViewById<Button>(R.id.btn_reboot)
button.setOnClickListener {
requestPermission()
}
MainActivity.kt
<Button
android:id="@+id/btn_reboot"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Reboot Permission"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
activity_main.xml
Acredito que o problema é essa permissão em especifico, pois tentei com a permissão de CALL_PHONE e funcionou normalmente , entretanto já verifiquei a documentação do Android e parece que devia funcionar.
https://developer.android.com/reference/android/Manifest.permission#REBOOT
Desde já agradeço pela ajuda.