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

这将记录您的 Activity 的主要生命周期回调,然后您可以在 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 回答