捕获映像android后,Application类返回null

时间:2016-07-02 14:26:27

标签: android

我有一个活动A和活动B.在活动A中,我将一些数据保存在应用程序类中,然后转到活动B.

在活动B中,当我来自活动A时,我能够访问我在应用程序类中保存的数据,

活动B中有一个按钮来捕捉图像。当我捕获图像并在捕获后返回活动B时,应用程序类返回null并且我无法再次获取数据。

申请类代码:

 public void saveSelectedSalonDetail(SalonDetailsModel salonDetail){
        this.salonDetails = salonDetail;
    }
    public SalonDetailsModel getSalonDetails(){
        Log.e("salon details ",this.salonDetails.getBusinessName());
        return salonDetails;
    }

活动代码: - 在应用程序类中保存数据

  ((AppController) getApplicationContext()).saveSelectedSalonDetail(salonDetailsModel);

活动B代码: -

AppController appController = (AppController)getApplication();
SalonDetailsModel salonDetailsModel  = appController.getSalonDetails();
String salonTitle = salonDetailsModel.getBusinessName();

当我来自活动A时,上面的行返回值但是当我在捕获图片后进入活动b时,同一行返回null。

1 个答案:

答案 0 :(得分:0)

  

活动B中有一个按钮来捕捉图像。当我捕获图像并在捕获后返回活动B时,应用程序类返回null并且我无法再次获取数据。

我假设您使用ACTION_IMAGE_CAPTURE来捕获图像。在这种情况下,您的行为是完全正常的。

如果您的应用程序在前台没有活动,则可以终止您的应用程序进程。这包括相机应用程序在前台时。

static字段或Application子类中存储数据是可以的,只要您不泄漏内存和,只要您只将其用于缓存 。如果您的数据需要在流程终止后继续存在,则需要制定计划,将数据存储在流程之外(例如,数据库,首选项,其他类型的文件,Internet)。