我试图让用户从Android上的库中选择一张图片。但是,当我使用PictureChooser插件时,它似乎不再起作用了(
)我已经看到此代码正常运行,但现在它没有,我无法弄清楚原因。
var task = Mvx.Resolve<IMvxPictureChooserTask> ();
task.ChoosePictureFromLibrary (1024, 92,
stream => {
MemoryStream ms = new MemoryStream ();
stream.CopyTo (ms);
_currentTarget.ImageBase64 = Convert.ToBase64String (ms.ToArray ());
SaveTarget ();
RaisePropertyChanged (() => TargetImage);
}, () => {
});
我的日志说明如下:
mvx:Warning:1665,79 Warning - activity request code may clash with Mvx code for PickFromFile
mvx:Warning:1665,79 Warning - activity request code may clash with Mvx code for PickFromFile
mvx:Diagnostic:1665,82 OnMvxIntentResultReceived in MvxAndroidTask
mvx:Diagnostic:1665,82 OnMvxIntentResultReceived in MvxAndroidTask
mvx:Diagnostic:1665,83 ProcessMvxIntentResult started...
mvx:Diagnostic:1665,83 ProcessMvxIntentResult started...
mvx:Diagnostic:1665,84 Non-OK result received from MvxIntentResult - Canceled - request was 30001
mvx:Diagnostic:1665,84 Non-OK result received from MvxIntentResult - Canceled - request was 30001
奇怪的是,我确实得到了一个PictureChooser对话框,但同时调用了assumeCancelled动作。当我选择一个图像时,没有任何事情发生了:(
我正在使用mvvmcross 3.5.1
答案 0 :(得分:1)
它发生在一些设备上。不是全部。
原因是我从片段(viewmodel)开始使用picturechooser插件。因此,结果处理出错了。
我无法立即找到修复程序,所以我首先导航到一个Activity,然后启动picturechooser,现在工作正常。
答案 1 :(得分:0)
正如https://stackoverflow.com/a/10564488/368379所指出,当从片段调用StartActivityForResult时,活动会更改请求代码。
这应该在Android支持23.2.0中修复,我们正在使用我们的MvvmCross Android支持包。