diff --git a/manifest.gradle b/manifest.gradle index 802bbae..f57b871 100644 --- a/manifest.gradle +++ b/manifest.gradle @@ -1,9 +1,9 @@ ext { api_min_sdk = 23 - api_target_sdk = 31 + api_target_sdk = 33 api_version_code = 1 api_version_major = 13 api_version_minor = 1 - api_version_patch = 4 + api_version_patch = 5 api_version_name = "${api_version_major}.${api_version_minor}.${api_version_patch}" } diff --git a/provider/src/main/java/rikka/shizuku/ShizukuProvider.java b/provider/src/main/java/rikka/shizuku/ShizukuProvider.java index b0fc36f..184c70e 100644 --- a/provider/src/main/java/rikka/shizuku/ShizukuProvider.java +++ b/provider/src/main/java/rikka/shizuku/ShizukuProvider.java @@ -9,6 +9,7 @@ import android.content.pm.ProviderInfo; import android.database.Cursor; import android.net.Uri; +import android.os.Build; import android.os.Bundle; import android.os.IBinder; import android.util.Log; @@ -118,7 +119,7 @@ public static void requestBinderForNonProviderProcess(@NonNull Context context) Log.d(TAG, "request binder in non-provider process"); - context.registerReceiver(new BroadcastReceiver() { + BroadcastReceiver receiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { BinderContainer container = intent.getParcelableExtra(EXTRA_BINDER); @@ -127,7 +128,13 @@ public void onReceive(Context context, Intent intent) { Shizuku.onBinderReceived(container.binder, context.getPackageName()); } } - }, new IntentFilter(ACTION_BINDER_RECEIVED)); + }; + + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + context.registerReceiver(receiver, new IntentFilter(ACTION_BINDER_RECEIVED), Context.RECEIVER_NOT_EXPORTED); + } else { + context.registerReceiver(receiver, new IntentFilter(ACTION_BINDER_RECEIVED)); + } Bundle reply; try {