如何解决在 Xamarin Forms 中从服务器的共享文件夹安装 APK
我正在尝试从我的设备安装 APK。我有一种方法可以检查是否有新版本,但是当我尝试安装 APK 时它总是失败。
相关代码如下:
try
{
SharpCifs.Config.SetProperty("jcifs.smb.client.lport","8080");
string path = @"smb://Nascld/Share/IT/Androids/Picking.apk";
var auth = new NtlmPasswordAuthentication("Domain","login","pwd");
//Get target's SmbFile.
var file = new SmbFile(path,auth);
//Check if file exist
if (file.Exists())
{
Intent PromptInstall = new Intent(Intent.ActionView).SetDataAndType(Android.Net.Uri.Parse(file.GetPath()),"application/vnd.android.package-archive");
PromptInstall.SetFlags(ActivityFlags.GrantReadUriPermission);
PromptInstall.SetFlags(ActivityFlags.NewTask);
PromptInstall.SetFlags(ActivityFlags.ClearWhenTaskReset);
context.StartActivity(PromptInstall);
}
else
{
returnValue = false;
}
}
catch(Exception e)
{
Console.WriteLine(e.ToString());
returnValue = false;
}
所以,我设法找到了该文件,将其放入文件中,检查它是否存在,然后创建 Intent。但是每当我启动它时,我都会收到一个错误。
No Activity found to handle Intent { act=android.intent.action.VIEW dat=smb://Domain/Share/IT/Androids/Picking.apk typ=application/vnd.android.package-archive flg=0x10000000 }01-19 17:16:22.236 I/mono-stdout(12860): Android.Content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=smb://Domain/Share/IT/Androids/Picking.apk typ=application/vnd.android.package-archive flg=0x10000000 }
at Java.Interop.jnienvironment+InstanceMethods.CallVoidMethod (Java.Interop.JniObjectReference instance,Java.Interop.JniMethodInfo method,Java.Interop.JniArgumentValue* args) [0x0006e] in :0
at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember,Java.Interop.IJavaPeerable self,Java.Interop.JniArgumentValue* parameters) [0x0002a] in :0
at Android.Content.Contextwrapper.StartActivity (Android.Content.Intent intent) [0x00031] in :0
at Picking.Helpers.Common+<>c__displayClass46_0.b__0 () [0x00077] in D:\cldRefactoring\cldRefactoring\Projects\1 Presentation\Picking-4.0\Picking\Picking\Helpers\Common.cs:937
--- End of managed Android.Content.ActivityNotFoundException stack trace ---
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=smb://nascld/Share/IT/Androids/Picking.apk typ=application/vnd.android.package-archive flg=0x10000000 }
at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1816)
at android.app.Instrumentation.execStartActivity(Instrumentation.java:1525)
at android.app.ContextImpl.startActivity(ContextImpl.java:791)
at android.app.ContextImpl.startActivity(ContextImpl.java:768)
at android.content.Contextwrapper.startActivity(Contextwrapper.java:356)
我不知所措。我已经搜索了几个小时,我认为这是上下文的问题,但我现在相信意图是问题,但我无法确定原因,也无法解决它。感谢您的帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。