我設置我的android應用程序打開特定服務器的某些網址。 當我的應用程序不打算打開某個url時,可能會發生這種情況,因此服務器將返回錯誤。如何強制一個網址在設備的瀏覽器中打開,當我的應用程序設置爲默認應用程序來打開此URL
收到錯誤後,我想在設備的瀏覽器中打開此URL。 由於我的應用程序被設置爲默認應用程序打開這種網址,欲以:
Intent intent = new Intent(Intent.ACTION_VIEW, URI);
context.startActivity(intent);
會導致應用程序遞歸和無休止地打開,因爲該設備是識別網址爲需要一個url由我的應用程序打開。
一個解決方案,我發現被強制設備在Chrome中打開網址:如果設備不包含Chrome應用intent.setPackage("com.android.chrome");
時出現了問題。
有沒有一個優雅的解決方案,而不是逐一列出所有可能的android瀏覽器?
P.S.有問題的網址沒有可以區分它們的通用前綴。
你可以在'ACTION_VIEW''Intent'上使用'PackageManager'和'queryIntentActivities()'來獲得你的''沒有拾取的URL。用它來識別一個瀏覽器,然後你可以通過'setPackage()'來使用它。 –
CommonsWare
這工作完美,謝謝! – Schor