3

webviewボタンをクリックした後、またはデフォルトのブラウザで URL を開くにはどうすればよいですか? 現在、btn1ボタンをクリックすると、電話からブラウザーを選択するように求められます。この URL をデフォルトのブラウザ内またはwebview.

ここに私のJavaコードがあります:

 public class myactivity extends Activity {

@Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Button bt1 = (Button) findViewById(R.id.btn_click_login);
    btn_login.setOnClickListener(new OnClickListener() {
         public void onClick(View v) {
             Intent myWebLink = new Intent(android.content.Intent.ACTION_VIEW);
             myWebLink.setData(Uri.parse("http://google.com"));
             startActivity(myWebLink);
          }
         }
     );
}
4

5 に答える 5

21

どうぞ。

<uses-permission android:name="android.permission.INTERNET"/>マニフェストに必ず含める

Intent internetIntent = new Intent(Intent.ACTION_VIEW,
Uri.parse("http://www.google.com"));
internetIntent.setComponent(new ComponentName("com.android.browser","com.android.browser.BrowserActivity"));
internetIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(internetIntent);
于 2012-06-14T10:54:01.463 に答える
4

これを試すことができますあなたの意図

intent.setComponent(new ComponentName("com.android.browser", "com.android.browser.BrowserActivity"));

あなたのコードで

 public void onClick(View v) {
             Intent myWebLink = new Intent(android.content.Intent.ACTION_VIEW);
             myWebLink.setComponent(new ComponentName("com.android.browser", "com.android.browser.BrowserActivity"));
             myWebLink.setData(Uri.parse("http://google.com"));
             startActivity(myWebLink);
       }
于 2012-06-14T10:53:26.080 に答える
1

レイアウトxmlにWebViewを配置します

<RelativeLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical"
  android:layout_width="match_parent"
  android:layout_height="match_parent"

  android:gravity="center"  
  >

  <WebView 
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:id="@+id/web"
/>

</RelativeLayout>

あなたの活動でそれへの参照を取得します

WebView mWeb = (WebView) findViewById(R.id.web);

その上で loadUrl() を呼び出します。

mWeb.loadUrl("http://google.com");
于 2012-06-14T19:21:50.330 に答える
1

Android には 2 種類のインテントがあります。

明示的なインテント: ターゲット コンポーネントが明示的に指定されている場所。暗黙のインテント: ターゲット コンポーネントが指定されていません。代わりに、データ、アクション、カテゴリなどの他のフィールドがいくつか提供されています。これらのフィールド (属性) に従って、Android システムはアクティビティまたはコンポーネントをフィルタリングしてインテントを処理します。

また、暗黙のインテントを使用しており、Action_VIEW で動作するすべてのアクティビティと指定された URI が一覧表示されます。この状況を回避するには、Android システムを制限してさらにフィルタリングするか、他のパラメーターを使用するか、それを明示的インテントに変更するオプションしかありません。明示的なインテントに変更するには、ターゲット コンポーネント名が必要です。

于 2012-06-14T10:47:21.887 に答える