Android Instabug,如果没有互联网接入,是否可以取消震动以获得反馈?

Android Instabug,如果没有互联网接入,是否可以取消震动以获得反馈?,android,logging,feedback,network-state,instabug,Android,Logging,Feedback,Network State,Instabug,我有一个networkStateReceiver,它检查我是否有internet。 如果我这样做了,我会重新启动instabug,如果没有,我想停用。我该怎么做? 我试着将它设置为null,但不起作用 if(haveConnectedMobile || haveConnectedWifi){ //TODO will need to make a queue, and go through all that queue PSLocationCente

我有一个networkStateReceiver,它检查我是否有internet。 如果我这样做了,我会重新启动instabug,如果没有,我想停用。我该怎么做? 我试着将它设置为null,但不起作用

if(haveConnectedMobile || haveConnectedWifi){
            //TODO will need to make a queue, and go through all that queue
            PSLocationCenter.getInstance().initInstabug();
        }else{
            PSLocationCenter.getInstance().instabug = null;
        }
这是我的初始化:

public void initInstabug() {
    String[] feedbackArray = getResources().getStringArray(R.array.feedback);
    String randomStr = feedbackArray[new Random().nextInt(feedbackArray.length)];
    Instabug.DEBUG = true;
    instabug = Instabug.initialize(this)
            .setAnnotationActivityClass(InstabugAnnotationActivity.class)
            .setShowIntroDialog(true, PSTimelineActivity.class)
            .enableEmailField(true, false)
            .setEnableOverflowMenuItem(true)
            .setDebugEnabled(true)
            .setCommentRequired(true)
            .setPostFeedbackMessage(randomStr)
            .setPostBugReportMessage(randomStr) //TODO will be the post report message, random from array
            .setCommentFieldHint("Please describe what went wrong")
            .setPreSendingRunnable(new Runnable() {
                @Override
                public void run() {
                    String[] files = new String[2];
                    files[0] = Environment.getExternalStorageDirectory() + "/Passenger/passenger_log.txt";
                    files[1] = Environment.getExternalStorageDirectory() + "/Passenger/passenger_log2.txt";
                    Compress compress = new Compress(files, Environment.getExternalStorageDirectory() + "/Passenger/log.zip");
                    compress.zip(new CrudStateCallback() {
                        @Override
                        public void onResponse(String string) {
                            Log.i("", "ended making the archive");
                        }
                    });
                }
            })
            .attachFileAtLocation(Environment.getExternalStorageDirectory() + "/Passenger/log.zip");
}

您可以使用以下代码禁用Instabug自动调用:

Instabug.getInstance().setInvocationEvent(IBGInvocationEvent.IBGInvocationEventNone)
这样它就不会被自动调用。但这只会影响下一个活动(而不是当前活动)。您可以通过对当前活动调用
onPause
onResume
来强制停止并重新启动所有侦听器。(我们可能很快就会解决这个问题,以便将这些更改应用于当前正在运行的活动)

当恢复internet访问时,不要忘记启用shake调用事件


请记住,Instabug SDK已经缓存了所有报告,并将在下一次应用程序启动时重新尝试发送这些报告,直到成功上载为止。

只是想发布更新的答案

较新的SDK已更改名称,现在您可以通过以下代码禁用它:

Instabug.changeInvocationEvent(InstabugInvocationEvent.NONE)

注意,如果您想在整个应用程序中禁用它,只需在
应用程序中调用此方法

我尝试了ibgineventnone,但它不起作用。当然是因为我没有重新启动活动。虽然这不再需要了,因为就像你说的,如果没有互联网,它应该在互联网恢复后发送报告。我是说应该,因为我试过了,在Iphone上,当我激活互联网时,它确实发送了报告,而在Android上则没有。PS:我使用的是这个版本,所以它应该是最新的,对吧?:编译'com.instabug.library:instabugsupport:1+'对不起,请再次阅读您的答案。它将在下一次应用程序发布时尝试发送?这意味着为了发送报告,我需要强制关闭应用程序并再次启动它?为什么不在偶然的活动中?无需强制关闭应用程序。如果在当前活动中调用onPause,然后调用onResume,SDK将使用新配置重新启动所有侦听器。你能给我发封电子邮件吗contactus@instabug.com关于网络问题?显然没有必要。我现在查看了Instabug,看到了我离线发送的那些。但他们今天才出现。它没有在线的那么快。非常感谢你的帮助