私はAndroidアプリを開発しており、他の機能の中でも、外部WebブラウザーでいくつかのURLを開く必要があります。そのためのデフォルトのアプリケーションをプログラムで設定して、ユーザーが使用可能なブラウザーのリストから選択できないようにすることはできますか?つまり、デフォルトのブラウザを自分のアプリにのみ設定し、オペレーティングシステム全体には設定したくないということです。
質問する
7277 次
3 に答える
3
はい、このために、アプリケーションに常にネイティブのAndroidブラウザのみを開くように強制することができます。このためには、次のようなアプリケーションの起動Activity
を特定する必要があります。Browser
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.google.android.browser","com.google.android.browser.BrowserActivity"));
intent.setAction("android.intent.action.VIEW");
intent.addCategory("android.intent.category.BROWSABLE");
Uri uri = Uri.parse(url);
intent.setData(uri);
try
{
startActivity(intent);
}
catch (Exception e)
{
e.printStackTrace();
}
于 2012-09-25T14:28:17.990 に答える
2
インテントには.setPackageを使用できます:http ://developer.android.com/reference/android/content/Intent.html#setPackage(java.lang.String )。ブラウザのパッケージ名(マニフェストのpackage属性で定義)を使用して呼び出します。
文字列を共有するためにGoogle+アプリケーションを起動するために似たようなものを使用しています:
Intent shareIntent = ShareCompat.IntentBuilder.from(getActivity())
.setText("Dummy string to share")
.setType("text/plain")
.getIntent()
.setPackage("com.google.android.apps.plus");
startActivity(shareIntent);
私の例では、「com.google.android.apps.plus」はGoogle+アプリケーションのパッケージ名です。
于 2012-09-25T14:23:21.640 に答える
0
BrowserクラスのSharedpreferenceは"MODE_private"であるため、プログラムで直接home_pageの変更手順にアクセスすることはできません。
やりたい場合は、Browser.javaオープンソースコードを使用して、そこからアイデアを得る必要があります。
于 2013-02-26T11:52:13.010 に答える