将android java转换为xamarin c#
Posted
技术标签:
【中文标题】将android java转换为xamarin c#【英文标题】:translate android java to xamarin c# 【发布时间】:2013-11-29 13:30:30 【问题描述】:我正在尝试使用可以将图像上传到 html 页面的 webview 制作一个 android 应用程序。 我想我在这里找到了解决方案:Android ACTION_IMAGE_CAPTURE Intent 但我在将所有内容翻译成 Xamarin c# 时遇到了麻烦,这里有什么可以帮助我的吗?我感兴趣的代码是:
File imageDirectory = new File("/sdcard/signifio");
String path = imageDirectory.toString().toLowerCase();
String name = imageDirectory.getName().toLowerCase();
ContentValues values = new ContentValues();
values.put(Media.TITLE, "Image");
values.put(Images.Media.BUCKET_ID, path.hashCode());
values.put(Images.Media.BUCKET_DISPLAY_NAME,name);
values.put(Images.Media.MIME_TYPE, "image/jpeg");
values.put(Media.DESCRIPTION, "Image capture by camera");
values.put("_data", "/sdcard/signifio/1111.jpg");
uri = getContentResolver().insert( Media.EXTERNAL_CONTENT_URI , values);
Intent i = new Intent("android.media.action.IMAGE_CAPTURE");
i.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(i, 0);
更具体地说,我必须导入哪些类才能找到 Media.TITLE、Images.Media.BUCKET_ID....等等。
【问题讨论】:
【参考方案1】:试试 Android.Provider.MediaStore
如果它们不在其中,您可以改用实际的字符串,请参阅the Android documentation
这是对 getContentResolver Xamarin 样式的调用:
this.ContentResolver.Insert(Android.Provider.MediaStore.Images.Media.ExternalContentUri, values);
对于文件的位置使用:
Environment.GetExternalStoragePublicDirectory(Environment.DirectoryPictures), "CameraAppDemo");
Xamarin documentation. 中有一个使用相机意图的方法
【讨论】:
很好...谢谢。我找不到它们,但我改用字符串。 getContentResolver().insert 函数呢,Media.EXTERNAL_CONTENT_URI 在任何地方都找不到它们...... 所以...我还有一个问题。我试图找到一个地方来存储相机拍摄的图像。它必须是我的应用程序和相机应用程序都有 acecs 的地方。我在想。 Environment.getExternalStoragePublicDirectory 但我不知道在 xamarin 中的哪里可以找到它,或者在另一个更好的地方放置它? :) 你能再帮我一次吗?谢谢...以上是关于将android java转换为xamarin c#的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin C# Android - 将 .3gpp 音频转换为字节并发送到 parseObject
如何在 C#/Xamarin 中使用带有来自 android 钥匙串的私钥的 X.509 证书?
将 Xamarin.Forms.Color 转换为平台特定颜色
Realm Java作为Native Android Library的依赖绑定到Xamarin
gles2 动态壁纸转换为 c# (xamarin) 符合错误“...mono.android.TypeManager 无法应用于