Autore Topic: Chiudere seconda activity.  (Letto 329 volte)

Offline x69asterix2

  • Utente junior
  • **
  • Post: 127
  • Respect: +1
    • Mostra profilo
Chiudere seconda activity.
« il: 02 Febbraio 2015, 08:45:27 CET »
0
Ho il seguente problema dall' activity "A" devo chiudere la seconda activity "B".

Dall'activity "A" dentro un bottone eseguo
Codice: [Seleziona]
Intent i2 = new Intent("end");
sendBroadcast(i2);


nella seconda activity "B" nell' onResume:
Codice: [Seleziona]
   IntentFilter  filter = new IntentFilter();
        filter.addAction("end");
        BroadcastReceiver  receiver0 = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                // TODO Auto-generated method stub
                Toast.makeText(getApplicationContext(),"Ricevuto",Toast.LENGTH_SHORT).show();
                finish();
            }
        };

        registerReceiver(receiver0, filter);
Il BroadcastReceiver non è dichiarato nel manifest.
Praticamente la seconda attività non viene chiusa
LogCat:
Codice: [Seleziona]
02-02 11:09:10.573  30083-30083/.....E/ActivityThread﹕ Activity ........MyActivityTab2 has leaked IntentReceiver ......MyActivityTab2$2@424c3ac0 that was originally registered here. Are you missing a call to unregisterReceiver()?
    android.app.IntentReceiverLeaked: Activity .......MyActivityTab2 has leaked IntentReceiver ......MyActivityTab2$2@424c3ac0 that was originally registered here. Are you missing a call to unregisterReceiver()?
            at android.app.LoadedApk$ReceiverDispatcher.<init>(LoadedApk.java:800)
            at android.app.LoadedApk.getReceiverDispatcher(LoadedApk.java:601)
            at android.app.ContextImpl.registerReceiverInternal(ContextImpl.java:1679)
            at android.app.ContextImpl.registerReceiver(ContextImpl.java:1659)
            at android.app.ContextImpl.registerReceiver(ContextImpl.java:1653)
            at android.content.ContextWrapper.registerReceiver(ContextWrapper.java:430)
            at ......MyActivityTab2.onResume(MyActivityTab2.java:109)
            at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1202)
            at android.app.Activity.performResume(Activity.java:5404)
            at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2830)
            at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2884)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2314)
            at android.app.ActivityThread.access$700(ActivityThread.java:157)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289)
            at android.os.Handler.dispatchMessage(Handler.java:99)
            at android.os.Looper.loop(Looper.java:176)
            at android.app.ActivityThread.main(ActivityThread.java:5319)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:511)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
            at dalvik.system.NativeStart.main(Native Method)
« Ultima modifica: 02 Febbraio 2015, 11:13:11 CET da x69asterix2 »

Offline emaborsa

  • Utente normale
  • ***
  • Post: 274
  • Java Developer
  • Respect: +33
    • Google+
    • emaborsa
    • Mostra profilo
    • www.emaborsa.com
  • Dispositivo Android:
    Samsung Galaxy S2
  • Sistema operativo:
    Linux 10 - Win8.1 - Android 4.1.2
Re:Chiudere seconda activity.
« Risposta #1 il: 06 Febbraio 2015, 14:25:36 CET »
0
Ammetto che non ho capito al 100 quello che vuoi fare, ma dal logcat si legge "Are you missing a call to unregisterReceiver()?".  lo hai messo da qualche parte prima di chiudere l'activity?