3

Google chrome を既定のブラウザとして設定することはできますか? Android 4.2では、Androidの一般的なブラウザーではないことを知ったので、Google Chromeに変更しました。以下のこのコードのように。

Intent intent= new Intent();        
intent.setAction("android.intent.action.VIEW");    
Uri content_url = Uri.parse("http://www.eltosystem.com");   
intent.setData(content_url);
intent.setClassName("com.android.browser","com.android.browser.BrowserActivity");   
                        startActivity(intent); 

Google Chrome をデフォルトとして設定するようにコードを変更することは可能ですか? 前もって感謝します。:)

4

1 に答える 1

5

インテントにクラス名を設定しないでください。その URL を処理するアプリが 1 つしかない場合、このアプリが起動されます。複数のアプリがあり、ユーザーがまだデフォルトのアプリを選択していない場合、これによりユーザーにプロンプ​​トが表示されます。ユーザーがすでにいずれかを選択している場合は、ユーザーが優先するものを開始します。ユーザーが使用するブラウザーを選択できるようにすることは、常に良い考えです。さまざまな理由で Chrome プレーンが機能しないことが判明する可能性があります。たとえば、ユーザーは特定の障害のために特別なブラウザを使用する必要がある場合があります。

com.android.chromeGoogle Chrome を明示的に起動したい場合は、そのパッケージ名 ( :-)) とandroid.intent.action.VIEWアクションを処理するアクティビティを見つける必要があります。これは、.apk に保存されている Google Chrome マニフェストから見つけることができます。インストールされているデバイスからこれを抽出する必要があります。

ただし、デバイスが JB 4.2 を実行している場合でも、デバイスに Google Chrome が存在するという保証はまったくないことに注意してください。OEM には、デバイスにインストールされているパッケージのリストを (ある程度) 自由にカスタマイズできるため、標準の 4.2 GMS イメージに Chrome が含まれていても、たとえば Samsung はそれを削除することを決定する可能性があります。言うまでもなく、4.2 AOSP に基づくデバイスには、Chrome はオープン ソースの Android プラットフォームの一部ではないため、おそらく決して搭載されません。ユーザーは、Google Play ストアも AOSP の一部ではないため、Google Play ストアからダウンロードすることはできません。(適切な GMS ライセンスなしで、イメージに Google Play、Google マップ、および Chrome を含む AOSP ベースのデバイスのシナリオを意図的に無視しています)

于 2013-01-24T08:41:41.617 に答える