[英]How to launch an Activity from another Application in Android 30
我一直在使用以下代码从我的应用程序中打开我的其他应用程序。 此代码适用于 Android 29 个设备,但此代码不适用于 Android 30 个设备。 有人可以帮我使它也适用于 Android 30。 谢谢
case R.id.btAudio:
Intent launchIntent = getPackageManager().getLaunchIntentForPackage(getString("com.android.audioapp"));
Intent uin = new Intent(MainActivity.this, AudioInstall.class);
if (launchIntent != null) {
startActivity(launchIntent);
} else {
startActivity(uin);
}
this.finish();
break;
Android 11 添加了有关其他应用程序可见性的限制。 将targetSdk
设置为 >= 30 的应用程序无法与其他应用程序交互并打开其他应用程序,除非在清单中指定此项。
要指定您的应用与另一个特定应用交互,您需要在清单文件中添加一个<queries>
元素:
<manifest package="com.example.game">
<queries>
<package android:name="com.android.audioapp" />
</queries>
...
</manifest>
如果您需要指定要与之交互的更广泛的应用程序,下面的链接包含其他示例。
资料来源: https://developer.android.com/training/basics/intents/package-visibility
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.