...
Code Block | ||
---|---|---|
| ||
public class CustomBrowserActivity extends AppCompatActivity { public static final String KEY_URL = "com.sample.KEY_URL"; private BuzzAdWebViewBuzzAdBrowserFragment webViewfragment; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_custom_browser); // URL을 KEY로 하여 WebView를 가지고있는 Fragment를 받아와 사용합니다. Intent intent = getIntent(); BuzzAdBrowserFragment fragment = BuzzAdBrowser.getInstance(this).getFragment(intent.getStringExtra(KEY_URL)); getSupportFragmentManager().beginTransaction().replace(R.id.browserContainer, fragment).commit(); final BuzzAdWebView this.webView = fragment.getWebView(); // Browser의 이벤트를 받을 수 있습니다. DeepLink가 열렸을 경우, Browser를 닫아주어야 빈 페이지가 보여지는 현상을 방지할 수 있습니다. BuzzAdBrowser.getInstance(this).setOnBrowserEventListener(new BuzzAdBrowser.OnBrowserEventListener() { // 기존에 사용하던 isDeepLink 를 아래로 대체 @Override public void onDeepLinkOpened() { finish(); } }); } // Optional - BackButton을 눌렀을때 뒤로가기 기능 @Override public void onBackPressed() { final BuzzAdWebView webView = fragment.getWebView(); if (webView != null && webView.canGoBack()) { webView.goBack(); } else { super.onBackPressed(); } } } |
...
Code Block | ||
---|---|---|
| ||
public class MyLauncher implements Launcher { @Override public void launch(@NonNull Context context, @NonNull LaunchInfo launchInfo) { launch(context, launchInfo, null); } @Override public void launch(@NonNull final Context context, @NonNull final LaunchInfo launchInfo, @Nullable final LauncherEventListener listener) { launch(context, launchInfo, listener, null); } @Override public void launch(@NonNull final Context context, @NonNull final LaunchInfo launchInfo, @Nullable final LauncherEventListener listener, @Nullable List<Class<? extends BuzzAdJavascriptInterface>> javascriptInterfaces) { // Custom Browser 실행 final Intent intent = new Intent(context, CustomBrowserActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.putStringputExtra(CustomBrowserActivity.KEY_URL, launchInfo.getUri().toString()); // URI는 변경 하면 안 됨 context.startActivity(intent); } } |
...