GoogleのアプリでChromeのカスタムタブを使用してリンクを開きます。サムスンS6エッジについては問題があります。アプリでリンクをクリックすると、このデバイスはChromeのカスタムタブの代わりに独自のブラウザ(インターネットと呼ばれる)を開きます。戻るボタンを押すと、時には私たちのアプリに戻るのではなく、スタックからインターネットアプリを開くことになります(あなたが最近このブラウジングにこのインターネットアプリを使用した場合)。あなたがブラウジングのために最近インターネットアプリを使用しなかったならば、戻るはあなたのアプリを正しく開くでしょう。サムスンのChromeカスタムタブの代わりにS6エッジデバイスは独自のインターネットブラウザアプリを開きます
答えて
カスタムタブは公開されている仕様で、Chrome以外のブラウザでもサポートされています。
このように言われているように、現在のサムスンのインターネットブラウザの実装(4.0.10-51)には、上記の動作を引き起こすバグがあるようです。
一時的な回避策は、カスタムタブを開くときにSamsung IBパッケージを無視することです。 Github DemoのgetPackageNameToUseメソッドでカスタムタブをサポートするブラウザを見つける方法を確認できます。
com.sec.android.app.sbrowser
パッケージを無視するようにメソッドを変更します。私はまた、複数のブラウザそのシナリオのために準備する方法を確認するためにカスタムタブBest Practicesでご覧になることをお勧めします
customTabsIntent.intent.setPackage(packageName);
customTabsIntent.launchUrl(activity, uri);
:次に、あなたはこのようにカスタムタブを開くために使用するパッケージを強制カスタムタブがシステムにインストールされていることをサポートしています。
更新:サムスンのインターネットブラウザ(4.2)の最新バージョンに修正された問題があるようです。改善されたソリューションは、インストールされたブラウザのバージョンが互換性があるかどうかを確認することです。答えのようなものがthis StackOverflow questionで使用できます。カスタムタブのためのグーグルのコード例では
回避策:CustomTabsHelper.java
// Get all apps that can handle VIEW intents.
List<ResolveInfo> resolvedActivityList = pm.queryIntentActivities(activityIntent, 0);
List<String> packagesSupportingCustomTabs = new ArrayList<>();
for (ResolveInfo info : resolvedActivityList) {
Intent serviceIntent = new Intent();
serviceIntent.setAction(ACTION_CUSTOM_TABS_CONNECTION);
serviceIntent.setPackage(info.activityInfo.packageName);
if (pm.resolveService(serviceIntent, 0) != null) {
//If the packagename is not the samsung thing, add it to the list
if (! info.activityInfo.packageName.equals("com.sec.android.app.sbrowser")) {
packagesSupportingCustomTabs.add(info.activityInfo.packageName);
}
}
}
私はサムスンの最新の携帯電話に多くのカスタムタブのクライアントで確認。 ( - >設定 - >インターネットについてバージョンメニューの項目をチェックするための手順)だから、
私はこの問題は注意をデフォルトのブラウザつまりバージョン4.2の最新バージョンを持っている7のようにサムスンの携帯電話では観察されないことを確認します上記の "com.sec.android.app.sbrowser"パッケージ名を無視またはバイパスする上記のソリューションは、最新の携帯電話には必要ありません。
Samsungパッケージのバージョンは、次のような方法で確認できます。http://stackoverflow.com/questions/8988958/checking-external-app-バージョン名インアンドロイド – andreban
- 1. Android - 開いているWebブラウザの代わりにChromeのカスタムタブを開くPublisherAdView
- 2. galaxy s6 messages appは、アプリケーションを開く代わりにメッセージブラウザにリンクを開きますか?
- 3. BlockJUnit4ClassRunnerの代わりに独自のランナーを渡す方法
- 4. サムスンS6のAndroidダウンロードマネージャークラス名の問題
- 5. Chromeのポップアップの代わりにFacebook認証の公開タブ59
- 6. Chrome拡張機能には独自のlocalStorageがあります
- 7. Chromeカスタムタブのプログレッシブウェブアプリ
- 8. Android:eclipseのchromeカスタムタブ?
- 9. ChromeのカスタムタブCookieManager
- 10. Chromeのカスタムタブの.jarライブラリはどこにありますか?
- 11. Facebook SDKはFacebookアプリの代わりにSafariViewControllerを開きます
- 12. Eclipse Open DeclarationはJavaの代わりにクラスファイルを開きます
- 13. Chromeのカスタムタブのセカンダリカラー
- 14. URLはWebviewの代わりにフルスクリーンで開きます
- 15. Chromeカスタムタブ
- 16. Javascript:Object 'this'の代わりに独自のキーの関数内のリテラル参照
- 17. Chromeのカスタムタブとインテントフィルタ
- 18. Chromeのカスタムタブとコードバー
- 19. WebViewとChromeのカスタムタブ
- 20. TWebBrowserコントロールの代わりにChrome/Firefox
- 21. system32の代わりに独自のmsvcrt.dllを使用してください
- 22. HAPI + hapi-auth-basic:サインインポップアップウィンドウの代わりに独自のログインページを実装できますか?
- 23. コンソールの代わりにコマンドプロンプトを開きます。 Eclipse
- 24. Java Desktop browse()がURIの代わりに%uを開きます
- 25. Chromeのカスタムタブの「Keep in Chrome」メニュー項目
- 26. InAppBrowser.openがWebViewの代わりにブラウザで開きます
- 27. ブラウザでHTMLの代わりにRmdファイルが開きます
- 28. webviewを開く代わりにアンドロイドアプリ内のリンクを開きます
- 29. UIautomatorviewerはアンドロイド7のサムスンS6のデフォルトの呼び出しアプリのUI xml階層を作成できません
- 30. ChromeカスタムタブのCookie、ストレージAPI、サービスワーカー
'customTabsIntent.intent'は認識しません** intent ** –
このコードを見て、多分助けてください:https://github.com/GoogleChrome/custom-tabs-client/blob/master/demos/src/ main/java/org/chromium/customtabsdemos/CustomTabActivityHelper.java#L48-L64 – andreban