プロジェクトに ChromeCustomTabs を利用しようとしています。mayLaunchUrl を使用すると、いくつかの問題が発生しました。Google が github に持っているコードを確認しました。chrome dev ツールを使用してトラフィックを調べたときに、mayLaunchURL (prerender 機能) をテストするためのボタンを設定するだけでした。トラフィックを実行し、タブがトリガーされ、URL が読み込まれました (これは単にパラメーターを使用した GET 呼び出しです)。ただし、複数回クリックすると(8〜10回後、毎回異なるパラメータで)、動作が停止します。送信されたリクエストが表示されなくなります。(Chrome 開発ツールや私が設定したプロキシでは見られません)。
mayLaunchURL 機能に制限時間 (制限) があるのだろうか、つまり、この場合プリレンダリングできるページ数は? プリレンダリング ページを手動でキャンセルしてリソースを解放する方法はありますか?
bindCustomTabsService の回数に制限はありますか? mayLaunchURL を呼び出す方法は、アクティビティを作成し、タブを終了したらアクティビティを強制終了することです。毎回アクティビティを「kill (finish)」しても、毎回サービスをバインドできますか?
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
customTabActivityHelper = new CustomTabActivityHelper();
customTabActivityHelper.setConnectionCallback(this);
}
@Override
protected void onStart() {
super.onStart();
customTabActivityHelper.bindCustomTabsService(this);
}
@Override
public void onCustomTabsConnected() {
Boolean mayLaunchUrlAccepted = customTabActivityHelper.mayLaunchUrl(Uri.parse(“the URL?f=“+params), null, null);
// the mayLaunchUrlAccepted always return true in my case. Even when there is no request sent.
}