1

インターネットがあるかどうかを確認するnetworkStateReceiverがあります。もしそうなら、私はインスタバグを再開し、そうでなければ、無効にしたい. どうやってやるの?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");
}
4

2 に答える 2

2

このコードを使用して、Instabug の自動呼び出しを無効にすることができます。

Instabug.getInstance().setInvocationEvent(IBGInvocationEvent.IBGInvocationEventNone)

この方法では、自動的に呼び出されません。ただし、これは次のアクティビティにのみ影響します (現在のアクティビティには影響しません)。現在のアクティビティでonPauseandを呼び出して、すべてのリスナーを強制的に停止および再起動することができます。onResume(ただし、そのような変更が現在実行中のアクティビティに適用されるように、すぐに対処する可能性があります)。

インターネット アクセスが回復したら、シェイク呼び出しイベントも有効にすることを忘れないでください。

Instabug SDK は既にすべてのレポートをキャッシュしており、正常にアップロードされるまで、次のアプリ起動時に送信を再試行することに注意してください。

于 2015-07-02T12:16:46.317 に答える