0

私は、ユーザーがドロープレートで画像を共有できる描画アプリに取り組んでおり、次のコードを使用しています。

share = new Intent(Intent.ACTION_SEND);
share.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(attachment));
share.setType("image/png");
context.startActivity(Intent.createChooser(share, "Share Drawing"));

画像はwhatsappやgmailなどを介して正常に送信できますが、gmailアクションを終了してアプリに戻った後、ドロープレートの描画は消えています。

それでもwhatsappの場合、描画は共有後も保持されます。

Gmailが戻った後(他のアプリに移動して再開した後)に描画がdrawViewに残る理由と方法を誰かが知っていますか?どうもありがとう!

4

1 に答える 1

0

これにより、アクティビティの主要なライフサイクルコールバックがログに記録され、logcatでそれらを調べることができます。アクティビティが実際に破棄および再作成されていると仮定して、画像に関する情報をonSaveInstanceStateコールバックに保存してから、onCreateコールバックに復元する必要がありますが、実際にそうなっているようです。

    public class MyActivity exetends Activity {
         private final String TAG = "MyActivity";

         @Override
         protected void onCreate(Bundle savedInstanceState) {
             Log.d(TAG, "onCreate")
         }

         @Override  
         protected void onStart() {
             Log.d(TAG, "onStart")
         }

         @Override
         protected void onRestart() {
             Log.d(TAG, "onRestart")
         }

         @Override
         protected void onResume() {
             Log.d(TAG, "onResume")
         }

         @Override
         protected void onPause() {
             Log.d(TAG, "onPause")
         }

         @Override
         protected void onStop() {
             Log.d(TAG, "onStop")
         }

         @Override
         protected void onDestroy() {
             Log.d(TAG, "onDestroy")
         }
         @Override
         protected void onSaveInstanceState(Bundle outBundle) {
             Log.d(TAG, "onSaveInstanceState);
         }

}
于 2013-02-26T17:36:01.487 に答える