Androidでリンクを強制的にChromeで開く方法はありますか?質問する

Androidでリンクを強制的にChromeで開く方法はありますか?質問する

現在、多くの jQuery アニメーションを使用して開発された Web アプリをテストしていますが、組み込みの Web ブラウザのパフォーマンスが非常に低いことがわかりました。Chrome でテストすると、Web アプリのパフォーマンスが信じられないほど高速になります。iOS で行われるのと同様に、Android 版 Chrome でリンクを強制的に開くスクリプトがあるかどうか疑問に思っています。

ベストアンサー1

これを実現するよりエレガントな方法は、Intent.ACTION_VIEWインテントを通常どおり使用しながら、パッケージをcom.android.chromeインテントに追加することです。これは、Chrome がデフォルトのブラウザであるかどうかに関係なく機能し、ユーザーが選択リストから Chrome を選択した場合とまったく同じ動作を保証します。

String urlString = "http://mysuperwebsite";
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(urlString));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setPackage("com.android.chrome");
try {
    context.startActivity(intent);
} catch (ActivityNotFoundException ex) {
    // Chrome browser presumably not installed so allow user to choose instead
    intent.setPackage(null);
    context.startActivity(intent);
}

アップデート

Kindleデバイスの場合:

万が一、Amazon KindleにChromeアプリがインストールされていない場合にAmazonのデフォルトブラウザを開きたい場合

String urlString = "http://mysuperwebsite";
Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(urlString));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setPackage("com.android.chrome");
try {
    context.startActivity(intent);
} catch (ActivityNotFoundException ex) {
    // Chrome browser presumably not installed and open Kindle Browser
    intent.setPackage("com.amazon.cloud9");
    context.startActivity(intent);
}

おすすめ記事