13

これは私が与えられたURIでブラウザを開くために使用しているものです

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com/"));
startActivity(browserIntent);

以前にアクセスしたページでブラウザを開く方法はありますか?または、ブラウザを開くだけで、最後に表示したページが表示されます。

目的:

アプリケーションでは、ユーザーはURLを送信するように求められます。そのため、入力する代わりに、[ブラウザを開く]オプションがあり、URLをコピーして、戻って送信できます。最後のURLが彼/彼女が提出したいものである可能性が高いです

編集:

を使用してブラウザの履歴から最後にアクセスしたページを取得できます

<uses-permission android:name="com.android.browser.permission.READ_HISTORY_BOOKMARKS" />

しかし、アプリケーションをインストールしている間、それは言います:

このアプリケーションはブラウザの履歴を読み取ります

これを見ると、誰もインストールしません。

ブラウザの設定を変更する方法はあります

4

5 に答える 5

1

このアプリを開発しているのは、Web ブラウザーを開くための意図をいつ発火したかを知るためだと思います。その URL を共有設定変数に文字列として保存するだけで、新しい URL を開くたびに、その値を新しく開いた URL に置き換えることができます。

このようにして、共有設定変数に常に最後の URL アドレスが含まれます。必要なときはいつでも、共有設定から取得するだけです。

共有設定の詳細については、次を参照してください。

http://developer.android.com/reference/android/content/SharedPreferences.html

于 2013-01-10T13:50:12.510 に答える
0

開いたままでも大丈夫だと思いますwww.google.com。ユーザーがクリップボードのリンクを挿入しようとしている場合、現在開いているタブを離れることはほとんどありません。したがって、彼は新しいタブを作成してリンクを挿入する必要があります。すでにこの新しいタブを開いてにサービスを提供した場合はどうなりますかwww.google.comそのままにしておくと、彼がしなければならないことが1ステップ少なくなります。

于 2013-02-12T11:47:57.387 に答える
0

このコードが役立つ場合があります:

Intent browserIntent = getPackageManager().getLaunchIntentForPackage("com.android.chrome");
startActivity(browserIntent);

たまたまユーザーがクロムを持っていない場合は、デフォルトのブラウザーのパッケージ名を取得してそのインテントを開くことができます。

于 2014-08-05T10:24:34.460 に答える
0

URL を送信する場合、最も簡単な解決策は、ブラウザーからアプリに URL を共有できるようにすることです。ブラウザには共有ボタンがあります。

適切なインテント フィルターがある場合、アプリはそのリストに表示されます。

于 2013-01-10T13:49:44.113 に答える
0

コードは次のとおりです。

// create an intent to describe what app you wanna open
Intent browserIntent = new Intent("android.intent.action.VIEW", Uri.parse("http://"));

// and then get the default package name and start this app by yourself with a flag which allow it restore from history
ResolveInfo resolveInfo = getPackageManager().resolveActivity(browserIntent,PackageManager.MATCH_DEFAULT_ONLY);
Intent startIntent = getPackageManager().getLaunchIntentForPackage(resolveInfo.activityInfo.packageName);
startIntent.addFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
startActivity(startIntent);
于 2014-05-13T03:26:12.260 に答える