我将我的 android 应用程序设置为从特定服务器打开某些 url。当我的应用程序不打算打开某个 url 时,可能会出现一种情况,因此服务器将返回错误。
一旦收到错误,我想在设备的浏览器中打开这个 url。由于我的应用程序被设置为打开此类网址的默认应用程序,因此尝试使用:
Intent intent = new Intent(Intent.ACTION_VIEW, URI);
context.startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
将导致应用程序无限循环地打开,因为设备将 url 识别为需要由我的应用程序打开的 url。
我发现的一种解决方案是强制设备在 chrome 中打开 url:intent.setPackage("com.android.chrome");
如果设备不包含 Chrome 应用程序,则会出现问题。
有没有一个优雅的解决方案,而不是一一列出所有可能的android浏览器?
PS有问题的网址没有可以将它们与其他网址区分开来的通用前缀。