web-dev-qa-db-ja.com

FirebaseInstanceId.getInstance()。deleteInstanceId()の使用方法

FireBaseInstanceを削除したい

FirebaseInstanceId.getInstance().deleteInstanceId() 

Try/catchブロックを使用していますが、次のエラーが発生します。

> W/System.err: Java.io.IOException: MAIN_THREAD W/System.err:     at
> com.google.firebase.iid.zzd.zzb(Unknown Source) W/System.err:     at
> com.google.firebase.iid.FirebaseInstanceId.deleteInstanceId(Unknown
> Source) W/System.err:     at
> package.class.onCreate(DatenLadenActivity.Java:57)
> W/System.err:     at
> Android.app.Activity.performCreate(Activity.Java:6272) W/System.err:  
> at
> Android.app.Instrumentation.callActivityOnCreate(Instrumentation.Java:1107)
> W/System.err:     at
> Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:2387)
> W/System.err:     at
> Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:2494)
> W/System.err:     at
> Android.app.ActivityThread.access$900(ActivityThread.Java:157)
> W/System.err:     at
> Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:1356)
> W/System.err:     at
> Android.os.Handler.dispatchMessage(Handler.Java:102) W/System.err:    
> at Android.os.Looper.loop(Looper.Java:148) W/System.err:     at
> Android.app.ActivityThread.main(ActivityThread.Java:5525)
> W/System.err:     at Java.lang.reflect.Method.invoke(Native Method)
> W/System.err:     at
> com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:730)
> W/System.err:     at
> com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:620)

あなたの答えをありがとう、私の悪い英語を申し訳ありません:)

13
Johannes

deleteInstanceId()はブロッキング呼び出しです。メインスレッドでは呼び出せません。開発とテストのために呼び出すだけでよい場合は、単純なThreadを使用できます。

            new Thread(new Runnable() {
                @Override
                public void run() {
                    try {
                        FirebaseInstanceId.getInstance().deleteInstanceId();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }).start();
50
Bob Snyder