概要
ChromeCustomTabsを閉じてアプリに戻ってきたときに何かしらの処理を実行したいときのやり方メモです。
簡易まとめ
-
CustomTabsIntent#launchUrl()
実行前にActivityのインスタンス変数にフラグを立てる - ChromeCustomTabsを閉じると
Activity#onResume()
に戻ってくるのでフラグが立っていたら処理実行してフラグを下げる
コード例
フラグを定義
MainActivity.java
// ChromeCustomTabs用フラグ
private boolean flag = false;
launchUrl()
するところでフラグを立てる
MainActivity.java
@Override
public void onClick(View v) {
// launchUrl()前にフラグを立てておく
flag = true;
String url = "https://example.com/";
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(this, Uri.parse(url));
}
ChromeCustomTabsを閉じるとActivity#onResume()
に戻ってくるのでフラグが立っていたら処理実行してフラグを下げる
MainActivity.java
@Override
protected void onResume() {
super.onResume();
// CustomTabsを閉じるとActivityのonResume()に戻ってくるのでフラグで判定
if (flag) {
// やりたい処理を実行
doSomething();
// フラグを下げておく
flag = false;
}
}