fix: register ShizukuProvider and binder listener for direct elevation
This commit is contained in:
1 parent
8a6fa50ce3
commit
249c922a3e
2 files changed
+16
No files matched your search
@@ -33,6 +33,14 @@
|
||||
android:resource="@xml/file_paths" />
|
||||
</provider>
|
||||
|
||||
<provider
|
||||
android:name="rikka.shizuku.ShizukuProvider"
|
||||
android:authorities="${applicationId}.shizuku"
|
||||
android:multiprocess="false"
|
||||
android:enabled="true"
|
||||
android:exported="true"
|
||||
android:permission="android.permission.INTERACT_ACROSS_USERS_FULL" />
|
||||
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
@@ -19,6 +19,12 @@ class MainActivity : ComponentActivity() {
|
||||
private var currentPersistentUri by mutableStateOf<Uri?>(null)
|
||||
private var shizukuPermissionGrantedEvent by mutableStateOf(0L)
|
||||
|
||||
private val binderReceivedListener = Shizuku.OnBinderReceivedListener {
|
||||
if (ShizukuHelper.hasPermission()) {
|
||||
shizukuPermissionGrantedEvent = System.currentTimeMillis()
|
||||
}
|
||||
}
|
||||
|
||||
private val shizukuPermissionListener = Shizuku.OnRequestPermissionResultListener { requestCode, grantResult ->
|
||||
if (requestCode == ShizukuHelper.REQUEST_CODE && grantResult == PackageManager.PERMISSION_GRANTED) {
|
||||
shizukuPermissionGrantedEvent = System.currentTimeMillis()
|
||||
@@ -46,6 +52,7 @@ class MainActivity : ComponentActivity() {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
try {
|
||||
Shizuku.addBinderReceivedListenerSticky(binderReceivedListener)
|
||||
Shizuku.addRequestPermissionResultListener(shizukuPermissionListener)
|
||||
} catch (_: Throwable) {}
|
||||
|
||||
@@ -68,6 +75,7 @@ class MainActivity : ComponentActivity() {
|
||||
override fun onDestroy() {
|
||||
super.onDestroy()
|
||||
try {
|
||||
Shizuku.removeBinderReceivedListener(binderReceivedListener)
|
||||
Shizuku.removeRequestPermissionResultListener(shizukuPermissionListener)
|
||||
} catch (_: Throwable) {}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user