将一工程当做library工程遇到两个工程activity数据通信问题?
 我现在遇到的问题是用startactivityforresult()获得跳转界面所返回的数据时,主工程A中的activity可以调用到library工程的activity,但当library工程中要返回数据给主工程A时就调用不到A中的activity?请问有什么方法可以解决
简单说就是主工程A可以调用引用工程的类 而引用工程不能调用主工程的类
 
关于library工程调用(这样可以直接复用已有的工程)这篇文章有介绍http://www.devdiv.com/article-1430-1.html
Android通信

解决方案 »

  1.   

    那就不用startactivityforresult了。
    在LibActivity中写个方法
    public String getOutputData(String inputData)
    然后在ProActivity中调用libactivity,同时调用LA.getOutputData。
    这种方法可行吗。
      

  2.   

    我试试 好像有个问题 ProActivity中Intent跳转到LibActivity,当LibActivity关闭时 再在ProActivity中new libActivity时调用LA.getOutputData ,new LibActivity跟之前跳转LibActivity不是同一个LibActivity对吗? 我做的是扫描条形码 数据跳转LibActivity时去扫描 如果是这样不是就不一样了
      

  3.   

    因为任何工程都可以引用library,但library怎么知道谁引用了他?你这个需求可以用隐式intent来做
      

  4.   

    我大概了解了你的需求了。你可能想做个调用条形码扫描app的功能。
    libapp功能就是扫描条形码,并且返回barcode的值对吧。
    如果你的getOutputData的逻辑不变,应该返回同样的值。
    如果你的getOutputData方法中需要libactivity中的一些数据,可以把它们存在SharedPreferences中,这样不管你调的是不是同一个activity,拿到的数据数据也是一样的。
      

  5.   

    对对 我做的就是这个 我试试保存到SharedPreferences
      

  6.   

    问题解决了 我用隐式intent解决了