android - E/AndroidRuntime(25321694): java.lang.RuntimeException: Unable to pause activity -Unable to add window -


i porting android application bb10 android run time

in places while navigating new activity present activity in activity group,i getting errror,

07-17 06:50:58.924: e/androidruntime(25321694): java.lang.runtimeexception: unable pause activity {com.myactivity}: android.view.windowmanager$badtokenexception: unable add window -- token null not valid; activity running?

it happening in places,not in places,places in error did not call onpause() method of baseactivitygroup,places in works on pause method called

mybase activity code similar below http://ericharlow.blogspot.in/2010/09/experience-multiple-android-activities.html

package com.rak.ui;  import java.util.arraylist;  import android.app.activity; import android.app.activitygroup; import android.app.localactivitymanager; import android.content.intent; import android.os.bundle; import android.view.keyevent; import android.view.view; import android.view.window;  import com.xxx.interfaces.confirmactionlistener;  import com.xxx.interfaces.deleteactionlistener; import com.xxx.interfaces.tpinconflistener;  public class bactivitygroup extends activitygroup { private confirmactionlistener _conflistener;  private deleteactionlistener _dellistener;  private tpinconflistener _tpinlistener; private arraylist<string> midlist;  @override protected void oncreate(bundle savedinstancestate) {     super.oncreate(savedinstancestate);     system.out.println("on create of baseactivity group>>>>>>>>>>");     if (midlist == null) midlist = new arraylist<string>(); }  public void startchildactivity(string id, intent intent) {     system.out.println("within startchildactivity>>>>>>> bactivitygroup");     window window = getlocalactivitymanager().startactivity(id,intent.addflags(intent.flag_activity_clear_top));     if (window!=null) {         midlist.add(id);         setcontentview(window.getdecorview());     } }  @override protected void onpause() {     // todo auto-generated method stub     system.out.println("on pause of baseactivity group>>>>>>>>>>");     super.onpause(); }  @override protected void ondestroy() {     // todo auto-generated method stub     system.out.println("ondestroy of baseactivity group>>>>>>>>>>");     super.ondestroy(); }   @override public void finishfromchild(activity child) {     system.out.println("within finishfromchild>>>>>>> baseactivitygroup");     localactivitymanager manager = getlocalactivitymanager();     int index = midlist.size()-1;      if (index < 1) {         finish();     return;     }     manager.destroyactivity(midlist.get(index), true);     midlist.remove(index);     index--;     string lastid = midlist.get(index);     intent lastintent = manager.getactivity(lastid).getintent();     window newwindow = manager.startactivity(lastid, lastintent);     setcontentview(newwindow.getdecorview()); }    public void replacecontentview(string id, intent newintent) {     view view = getlocalactivitymanager().startactivity(id,             newintent.addflags(intent.flag_activity_clear_top))             .getdecorview();     this.setcontentview(view); }  public void setconfirmactionlistener(confirmactionlistener listener) {     _conflistener=listener; }  public void onconfirm() {     if (_conflistener!=null) {         _conflistener.onconfirm();     } }  public void setdeleteactionlistener(deleteactionlistener listener) {     _dellistener=listener; }  public void ondelete(string tag) {     if (_dellistener!=null) {         _dellistener.ondelete(tag);     } }  public void settpinconflistener(tpinconflistener listener) {     _tpinlistener=listener; }  public void ontpinconfirm(string tpin) {     if (_tpinlistener!=null) {         _tpinlistener.ontpinentered(tpin);     } } @override public boolean onkeydown(int keycode, keyevent event) {     if (keycode == keyevent.keycode_back) {     //preventing default implementation previous android.os.build.version_codes.eclair     return true;     }     return super.onkeydown(keycode, event); }  @override public boolean onkeyup(int keycode, keyevent event) {     system.out.println("on onkeyup of baseactivity group>>>>>>>>>>");     if (keycode == keyevent.keycode_back) {     onbackpressed();     return true;     }     return super.onkeyup(keycode, event); }  public void onbackpressed () {     system.out.println("on onbackpressed of baseactivity group>>>>>>>>>>");     int length = midlist.size();     if ( length > 1) {     activity current = getlocalactivitymanager().getactivity(midlist.get(length-1));     current.finish();     }     else     {         finish();     } } 

}

this issue happens in blackberry q5 device,no issues in bb z10 device ,


Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -