2017-02-16 34 views
1
@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 


    public void onClick(View v) { 
     mScannerView = new ZXingScannerView(this); 
     setContentView(mScannerView); 
     mScannerView.setResultHandler(this); 
     mScannerView.startCamera(); 

    } 

    @Override 
    protected void onPause() { 
     super.onPause(); 
     mScannerView.stopCamera(); 
    } 

    @Override 
    public void handleResult(final Result result) { 
     //Do anything with result here :D 
     Log.w("handleResult", result.getText()); 
     AlertDialog.Builder builder = new AlertDialog.Builder(this); 
     builder.setTitle("Scan result"); 
     builder.setMessage(result.getText()); 
     AlertDialog alertDialog = builder.create(); 
     alertDialog.show(); 


     Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(result.getText().toString())); 
     startActivity(browserIntent); 

      mScannerView.resumeCameraPreview(this); 
    } 

} 

スキャンが完了したらすぐにURLを開いてから、カメラを再度開きます。誰でも助けてくれますか?ウェブブラウザを開かずにURLを開くようにリクエストするにはどうすればよいですか?

+0

は、処理するために、独自の活動を試してみて、作成しますWebViewでURLを開くようにリクエストしてください。 – MKJParekh

+1

「URLを直接開く」とはどういう意味ですか?ウェブサイトを表示するか、一部のデータを取得しますか? – Malik

+0

「オープン」とはどういう意味ですか?あなたのアプリケーションのユーザーにURLのコンテンツを視覚的に提示しようとしていますか?または、このURLからアプリで使用するためにデータをダウンロードしようとしていますか? –

答えて

0

URLを開く要求を処理するための独自のアクティビティを作成してください。

私がアンドロイドとその意図について学び始めたとき、とても混乱していました。しかし、ManifestのカテゴリBROWSABLEは以下を行います。

ターゲットアクティビティは、リンクによって参照されるデータ(イメージや電子メールメッセージなど)を表示するために、ブラウザから安全に呼び出すことができます。上

読む:http://developer.android.com/guide/components/intents-filters.html

2つの他の回答には、標準のWebブラウザを開き、指定されたアドレスになります。カスタムブラウザをしたい場合は、この例のようなWebビューのような第二の活動を行います。

http://www.mkyong.com/android/android-webview-example/

0

は、以下のようなURLをロードするのWebViewを使用します。

webView= (WebView) findViewById(R.id.webview); 
    webView.setWebChromeClient(new WebChromeClient()); 
    webView.setWebViewClient(new WebViewClient()); 
関連する問題