Android 通过intent获取要启动的应用包名

实现

val uri: Uri = Uri.parse("app://test")
val intent = Intent(Intent.ACTION_VIEW, uri)
val info = this.packageManager.resolveActivity(intent, 0)
val packageName = info?.activityInfo?.packageName
startActivity(intent)

Android11(sdkversion 30)之后需要声明查询所有应用的权限

<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES"/>

参考

  1. android - intent.resolveActivity returns null in API 30 - Stack Overflow
  2. Android11适配-包可见性 - 简书 (jianshu.com)

猜你喜欢

转载自blog.csdn.net/b1tb1t/article/details/129653339