2016-07-02 17 views
0

アンドロイドの画像をキャプチャした後にnullを返し、私は、アプリケーションクラスでいくつかのデータを保存し、その後の活動Bで活動BにApplicationクラスは、私が活動Aで活動Aと活動Bを持って

をつもりです、私はできる午前

アクティビティBには、画像をキャプチャするためのボタンがあります。キャプチャ後にイメージをキャプチャしてアクティビティBに戻ると、アプリケーションクラスはnullを返し、データを再度フェッチできません。

アプリケーションクラスコード:

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

アクティビティAコード: - :

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

上の行を返す -

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

アクティビティBコード、アプリケーション・クラスのデータを保存します私がアクティビティAから来ているときの値ですが、画像をキャプチャした後にアクティビティbに来るとき、同じラインリターンsヌル。

+0

は、スタックトレースを共有します。 –

答えて

0

画像をキャプチャするアクティビティBにボタンがあります。キャプチャ後にイメージをキャプチャしてアクティビティBに戻ると、アプリケーションクラスはnullを返し、データを再度フェッチできません。

ACTION_IMAGE_CAPTUREを使用して画像をキャプチャしているとします。この場合、あなたの行動は完全に正常です。

アプリケーションがフォアグラウンドでアクティビティを持たない場合は、いつでもアプリのプロセスを終了できます。これには、カメラアプリがフォアグラウンドにあるときも含まれます。 staticフィールドまたはApplicationサブクラスで

データを保存するには、限り、あなただけのキャッシュのためにこれを使用しているとして、あなたはとても長いメモリとを漏れないよう、OKです。プロセスが終了しても生き残る必要のあるデータがある場合は、そのデータをプロセス外に保存する計画(データベース、環境設定、その他の種類のファイル、インターネットなど)が必要です。

関連する問題