如何在不使用onActivityResult的情况下从活动中获取结果

时间:2014-08-16 20:24:34

标签: android android-intent

我正在调用相机以使用以下意图捕获图像:

Intent imageIntent = new Intent(Intent.ACTION_PICK, android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

现在如果使用startActivityForResult(),我能够获得结果数据,即获取捕获图片的uri,然后我可以在onActivityResult()中对该图片执行某些操作。

我的问题是除了进入onActivityResult()之外还有其他方法可以获得结果数据。

2 个答案:

答案 0 :(得分:2)

  

我的问题是,除了进入onActivityResult()之外,还有其他方法可以获得结果数据。

不,抱歉。从startActivityForResult()获取结果的唯一方法是,通过onActivityResult()开始您未编写的活动。

答案 1 :(得分:0)

是的,可以试试这个黑客...

1.您可以查询/收听MediaStore并查看最新图片的时间戳。

2.将图像创建时间戳与相机活动的启动时间进行比较,如果差异非常小,则用户很有可能使用您启动的相机活动拍摄图像。

只是要添加此功能,只有在您想要选择刚刚被相机单击的图像或系统上创建的最新图像时才会有效。

如果您只对相机拍摄的图像感兴趣,请使用Android相机apis。

  

Android框架包括对各种相机和相机的支持   设备上可用的功能,允许您捕捉图片和   您应用程序中的视频。

有关详细信息,请参阅here