我需要启用我的应用程序来解压缩zip文件,并且我想在从设备点击(选择)zip文件时打开我的应用程序。 我在审核了一些帖子like this和this
后创建了Created和IntentFilter [Activity(Label ="Zip")]
[IntentFilter(new[] { Intent.ActionView },
Categories = new[] { Intent.CategoryDefault },
DataScheme ="file",
DataHost ="*",
DataPathPattern = "*\\.zip",
DataMimeType = "application/zip"
DataPathPattern = "*\\.zip",
DataMimeType = "application/zip"
)]
活动代码在这里:
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
var uri = Intent.Data.Path;
Toast.MakeText(this, uri, ToastLength.Long);
}
问题:当我选择zip文件时,我的应用程序没有启动。 参考文档:https://developer.android.com/guide/topics/manifest/data-element.html
答案 0 :(得分:1)
我做了很多测试,最后发现在修改我的代码后,它可以工作:
DataMimeType = "*/*"
添加条件以限制您的应用仅适用于.zip文件:
DataPathPattern = ".*\\.zip"
完整代码:
[Activity(Label = "Zip", MainLauncher = true, Icon = "@drawable/icon")]
[IntentFilter(new[] { Intent.ActionView },
Categories = new[] { Intent.CategoryDefault },
DataScheme = "file",
DataHost = "*",
DataPathPattern = ".*\\.zip",
DataMimeType = "*/*"
)]