我想注册一个自定义文件关联并处理该文件。要处理文件,我需要文件后面的bytes数组。
我通过以下方式成功注册了自定义.xmoo
扩展名:
[IntentFilter(new[] { Intent.ActionView }, Categories = new[] { Intent.CategoryDefault }, DataMimeType = "application/*", DataPathPattern = "*.xmoo")]
public class SplashActivity : AppCompatActivity
{
public override void OnCreate(Bundle savedInstanceState, PersistableBundle persistentState)
{
base.OnCreate(savedInstanceState, persistentState);
Android.Net.Uri fileUri = Intent.Data;
现在,我不知道如何从Uri中获取字节数组。读取字节的规范方法是什么?
答案 0 :(得分:0)
如果我没有记错的话,可以将其转换为内存流,然后转换为字节数组:
类似这样的东西:
public byte[] UriToByteArrayConverter(Android.Net.Uri uri)
{
Stream stream = ContentResolver.OpenInputStream(uri);
byte[] byteArray;
using (var memoryStream = new MemoryStream())
{
stream.CopyTo(memoryStream);
byteArray = memoryStream.ToArray();
}
return byteArray;
}
以防万一,请还原。