在WebView中打开InApp消息传递URL

时间:2020-09-05 16:55:40

标签: java android firebase-in-app-messaging

我成功地将FirebaseInAppMessagingClickListener附加到Android Studio中的Android应用程序,但是我无法从“应用程序内消息传递”弹出窗口获取URL导航到应用程序中的WebView活动,而是打开了设备内置浏览器作为覆盖在应用程序上方的位置。该活动甚至都没有打开,甚至在内置浏览器覆盖下也没有打开,同时Log功能中的调试代码在Logcat中可见。

所以我在这里有MyFirebaseInAppMessaging类(扩展服务实现了FirebaseInAppMessagingClickListener)代码:

    @Override
        public void messageClicked(@NonNull InAppMessage inAppMessage, @NonNull Action action) {
            // Determine which URL the user clicked
            String url = action.getActionUrl();
            Log.d(TAG, "Popup URL :"+url);
    
            // Get general information about the campaign
            CampaignMetadata metadata = inAppMessage.getCampaignMetadata();
            Log.d(TAG, "metadata :"+metadata);
    
            try{
//starting webview activity here
//url passing to it via intent extra works as expected
                startActivity(new Intent(this, webview_base.class).putExtra("web_url", url));
            }catch(Exception e){
                e.printStackTrace();
            }
        }

正如您在try-catch块中看到的那样,我试图打开webview活动,并将URL传递给它。

------更新

好吧,我玩过Logcat,在重新启动Android Studio之前,其中缺少一些日志。

结果是由于将“ this”作为第一个参数,所以我得到了NullPointerExceptien启动的Activity。我将尝试找出一些问题,并在发现后立即更新此帖子。

0 个答案:

没有答案