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)
あなたの答えをありがとう、私の悪い英語を申し訳ありません:)
deleteInstanceId()
はブロッキング呼び出しです。メインスレッドでは呼び出せません。開発とテストのために呼び出すだけでよい場合は、単純なThread
を使用できます。
new Thread(new Runnable() {
@Override
public void run() {
try {
FirebaseInstanceId.getInstance().deleteInstanceId();
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();