我在一个Activity(命名为A)中使用c1.startActivity(newIntent);这样的语句打开另外一个Activity(命名为B),在B中也用同样的方式打开A(目的是传输数据),可这个时候A中之前已经保存了的数据全没了,就像刚刚打开一样。注:A和B 是两个不同的APK程序。
在我的一个4.0版本的手机中不会有此问题,在一个2.3版本的手机中 会有此问题。期待各位解决。

解决方案 »

  1.   

    1.首先请确定B打开A,是开始的那个实例么(如果没有设置singletask模式,是重新打开一个activity实例的)
    2.Activity间返回数据,不介意你使用startactivity() 通过newIntent()方式获取,而应该使用onactivityResult()方式
    3.如果不是非要使用activity当作窗口的载体,请不要使用activity来操作UI,介意使用fragment.
      

  2.   


    设置成singleTop还是不行,我之前A、B均是singleTask。
    除了这样在两个APK之间交换数据外,还有没有其它交换数据的办法?数据库除外。
      

  3.   

    当B打开A的时候,连Application的onCreate都会执行。
      

  4.   

    newIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);