所以经过大量调查后,我终于让我的应用程序能够恢复状态(我只是修改了MainAcitivity.java中的OnCreate方法来加载"恢复"活动终止页面,如果有的话保存的包实例)
我相信一旦我解决了这个最后的问题,一切都会很好,我终于可以睡觉了。
如果应用程序因后台进程限制或“不进行活动检查”而被杀死,我如何从PhoneGap中的相机获取活动/意图结果" (我有相当多的用户启用了这些限制)
我认为有可能让相机将文件保存在临时目录中然后我只是通过javascript作为哈希网址传递URI(所以它就像文件:/// android_www /索引restore.html#URI_TO_IMAGE)
但我唯一的问题是 - 我怎么在PhoneGap中开始这个?我知道如何处理图像的临时存储并通过onCreate检索位置
答案 0 :(得分:1)
好吧终于管理了它,写了一个hacky解决方案,但它确实有用。
我修改了CordovaInterface和CordovaActivity,添加了一个名为“getSharedPref”的函数,该函数返回一个可以在整个应用程序中访问的共享首选项。
我修改了Camera Launcher以强制存储的名称为temp.jpg或temp.png,具体取决于输入的内容,然后将其存储在首选项中。
在MainActivity.java上,如果bundle实例不为null,我使用this.getSharedPref(),然后检查密钥。不幸的是,我在Cordova中分配变量的唯一方法是做
super.loadUrl("javascript: var global_image = '" + file + "'");
然后我做了通常的例程来在我的程序中添加文件,到目前为止一切正常!快乐的日子
沿着轨道我可能会使用super.loadUrl(“file:/// blablabla#”+ file)写一个插件来使用;似乎没有用。
到目前为止,唯一的问题是图像没有调整大小并正确旋转,我仍然需要为PhotoGallery实现这一点,但到目前为止还不错。
编辑: 我设法让照片调整大小并重新定位:)下一期是现在将它实现到照片库 - intent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT,file);似乎不适用于某种原因。
编辑:
最新更新 - 所以事实证明,在应用程序似乎“崩溃”之后,你仍然无论如何都要回归Intent,因此现在修改源代码更多它自动调用名为“customRestore”的全局javascript函数,该函数通过从意图中收集的信息,然后通过添加照片的正常程序。