2017-03-14 14 views
5

私はWeb開発者です。私は現在、アンドロイドアプリケーションとして私のウェブサイトにアクセスするWebViewを使用してアンドロイドスタジオでアンドロイドアプリケーションを開発しています。私のウェブページの1つに多くの外部リンクが含まれています。私の目標は、アンドロイドアプリケーションがGmail Appのような外部リンクを処理できるようにすることです(facebookやLineと同様)。 以下はgmailアプリの例です。Gmail AppのようなAndroid WebViewでの外部リンクの処理

An email contains external link

Link clicked, then application open a new activity acts like a browser without leaving Gmail application

それを作るためにどのように任意のアイデア?

+1

で始めるのに役立ちます願っています。 –

+0

こんにちは@GergelyKőrössy、助けてくれてありがとう..私はそれを試してみましょう。 – Dika

+0

@Dika –

答えて

4

かなりシンプルです。あなたはGergelyと同様にコメントでChrome Custom Tabsを使う必要があります。以下は、これを達成するのに役立つ小さな機能コードです。

まずあなたのbuild.gradleにこの依存関係を追加します(モジュール:アプリ)

compile 'com.android.support:customtabs:23.4.0' 

第二には、あなたのコードに機能の下に追加して、単にそれに文字列のURLを渡します。

private void redirectUsingCustomTab(String url) 
{ 
    Uri uri = Uri.parse(url); 

    CustomTabsIntent.Builder intentBuilder = new CustomTabsIntent.Builder(); 

    // set desired toolbar colors 
    intentBuilder.setToolbarColor(ContextCompat.getColor(this, R.color.colorPrimary)); 
    intentBuilder.setSecondaryToolbarColor(ContextCompat.getColor(this, R.color.colorPrimaryDark)); 

    // add start and exit animations if you want(optional) 
    /*intentBuilder.setStartAnimations(this, android.R.anim.slide_in_left, android.R.anim.slide_out_right); 
    intentBuilder.setExitAnimations(this, android.R.anim.slide_in_left, 
      android.R.anim.slide_out_right);*/ 

    CustomTabsIntent customTabsIntent = intentBuilder.build(); 

    customTabsIntent.launchUrl(activity, uri); 
} 

休憩それ自体は気を付けます。 Chromeのカスタムタブはカスタマイズできるので、ツールバーにメニューを追加できるようにたくさんのことができます。詳細については、Google自身の公式ドキュメントhereをご覧ください。

は、それはあなたがあなたが[クロームカスタムタブ](https://developer.chrome.com/multidevice/android/customtabs)が必要です:)

+0

デモコードはこちら(https://guides.codepath.com/android/Chrome-Custom-Tabs)を確認してください。XMLコードが必要ですか? – Dhiren

+1

いいえ、サーバー上でホストされているhtmlページのURLを渡すだけです。 – Geek

関連する問題