通过意图传递文件,我如何检索它

这是我所经历的。 pictureFile是一个File

 Intent intent = new Intent (context, ShowPicActivity.class); intent.putExtra("picture", pictureFile); 

在接下来的活动中,我使用哪一个getter?

Intent intent = getIntent(); …..?

  • Android:仅在onCreate中使用getIntent()?
  • 所有的Android广播意图列表在哪里
  • 如何跨两个不同的android应用程序共享SharedPreferences文件?
  • Android广播接收器不工作
  • android以编程方式更新apk并查看安装的结果
  • 为什么excludeFromRecents删除所有活动?
  • Android.widget,textView不能转换为android.widget,button
  • android通知不会触发BroadcastReceiver的onReceive
  • 尝试以下操作:

     YourPictureClass picture = (YourPictureClass)getIntent.getExtras().get("picture"); 

    通过在你的Intent调用getExtras() ,你可以得到一个Bundle的实例。
    使用Bundle类中的普通get() ,您可以读取传递给调用Intent每个Object 。 你唯一需要做的就是把它parsing回你的对象是一个实例的类。

    文件实现可序列化 (首先检查通过意图发送一个对象)。( 源 )

    所以你可以做到这一点,只需将生成的对象转换为File:

     File pictureFile = (File)getIntent.getExtras().get("picture"); 

    应该没问题。 (它使用getter作为'object' ,它需要一个可序列化的对象并返回它,这个cast应该足够了。