J'ai un récepteur de diffusion, et dans onRecive j'exécute Asynctask qui, lorsqu'il est exécuté, dans preExecute, affiche une boîte de dialogue en tant qu'indicateur occupé. au moment de l'exécution lorsque le AsyncTask exécute je reçois le dessous des erreurs de LogCat, pour corriger cette erreur j'ai essayé de passer getApplicationContext() comme référence au contexte au constructeur du AsyncTask mais je reçois toujours la même erreurErreur lors de la réception de l'intention de diffusion du récepteur de diffusion
s'il vous plaît laissez-moi savoir comment corriger cette erreur
Code:
//executingt the AsyncTask from onReceive
if (sppBondState == BluetoothDevice.BOND_BONDED) {
Log.d(TAG, SubTag.bullet("mBCR_STATE_CHANGED", "unbonding spp wil start"));
ATSPPUnbond mATSPPUnbond = new ATSPPUnbond(getApplicationContext());
mATSPPUnbond.execute();
}
...
...
...
@Override
protected void onPreExecute() {
super.onPreExecute();
Log.w(TAG, SubTag.msg("ATSPPUnbond.onPreExecute"));
...
...
...
this.mDialog = new Dialog(this.mCtx);
this.mDialog.setCancelable(false);
this.mDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.mDialog.setContentView(R.layout.dialog_phases);
this.mtvPhaseName = (TextView) this.mDialog.findViewById(R.id.act_main_tv_phase_name);
this.mpbBusyIndicator = (ProgressBar) this.mDialog.findViewById(R.id.act_main_pb_busy_indicator);
this.mtvPhaseName.setText(getApplicationContext().getResources().getString(R.string.phase_unbonding_from_remote_device));
this.mDialog.show(); //line 776
}
Logcat:
FATAL EXCEPTION: main
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: Process: com.example.com.vpager_00, PID: 28161
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: java.lang.RuntimeException: Error receiving broadcast Intent { act=android.bluetooth.adapter.action.STATE_CHANGED flg=0x4000010 (has extras) } in [email protected]
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:933)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.os.Looper.loop(Looper.java:145)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5938)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:372)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1400)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1195)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.view.ViewRootImpl.setView(ViewRootImpl.java:691)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:288)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.app.Dialog.show(Dialog.java:312)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at com.example.com.ecoassistant_03.ActMain$ATSPPUnbond.onPreExecute(ActMain.java:776)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:587)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.os.AsyncTask.execute(AsyncTask.java:535)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at com.example.com.ecoassistant_03.ActMain$1.onReceive(ActMain.java:123)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:923)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.os.Looper.loop(Looper.java:145)
02-16 11:23:08.305 28161-28161/com.example.com.vpager_00 E/AndroidRuntime: at android.app
se réfèrent http://stackoverflow.com/questions/1516211/error-receiving-broadcast-intent-problem – sasikumar
@ user2121: La seule façon de montrer des éléments de l'interface utilisateur dans Android est par activité. Ne montre pas un progrès de Receiver. – kevz
@sasikumar il pourrait être la même erreur..mais le lien que vous avez posté adresses autre question et je l'ai vérifié – user2121