Xamarin.android 使用Zebra MX extensions AppManager时出错

Xamarin.android 使用Zebra MX extensions AppManager时出错,xamarin.android,motorola-emdk,Xamarin.android,Motorola Emdk,我正在尝试将Xamarin上的Zebra Mx extensions应用程序管理器与EMDK包一起使用。 我的设备是Zebra TC51和安卓7.1 调用函数时: string[] modifyData = new string[2]; modifyData[0] = ProfileManager.CreateNameValuePair("AppMgrInstall", "Action", "Install"); modifyData[1] = ProfileManager.CreateName

我正在尝试将Xamarin上的Zebra Mx extensions应用程序管理器与EMDK包一起使用。 我的设备是Zebra TC51和安卓7.1

调用函数时:

string[] modifyData = new string[2];
modifyData[0] = ProfileManager.CreateNameValuePair("AppMgrInstall", "Action", "Install");
modifyData[1] = ProfileManager.CreateNameValuePair("AppMgrInstall", "APK", "/storage/emulated/0/Android/data/mypackage/files/apks/install.apk");
EMDKResults results = arg.ProcessProfileAsync("AppMgrProfile", ProfileManager.PROFILE_FLAG.Set, modifyData);
结果是:

配置文件的处理已启动,结果将通过注册的数据侦听器回调返回

但从未调用数据侦听器

如果我使用同步方法
ProcessProfile()
,应用程序将无限期地卡在线路上

当我在logcat中查看设备上发生的情况时,会弹出以下错误:

AppList_允许提交XML 错误:无法加载静态文件

错误的原因可能是什么

如何找到与此错误相关的更多信息

我在谷歌搜索引擎上搜索了AppList_AllowedSubmitXml,但它返回了0个结果

编辑: 这是我的EMDKConfig.xml

<?xml version="1.0" encoding="UTF-8"?><!--This is an auto generated document. Changes to this document may cause incorrect behavior.-->
<wap-provisioningdoc>
    <characteristic type="ProfileInfo">
        <parm name="created_wizard_version" value="7.3.2"/>
    </characteristic>
    <characteristic type="Profile">
        <parm name="ProfileName" value="AppMgrProfile"/>
        <parm name="ModifiedDate" value="2020-01-09 09:19:51"/>
        <parm name="TargetSystemVersion" value="8.0"/>
        <characteristic type="AppMgr" version="8.0">
            <parm name="emdk_name" value="AppMgrInstall"/>
            <parm name="Action" value="Install"/>
            <parm name="APK" value="/storage/emulated/0/Android/data/mypackage/files/apks/install.apk"/>
        </characteristic>
    </characteristic>
</wap-provisioningdoc>

您不能以这种方式使用ProcessProfile API,您的项目需要有相应的EMDKConfig.xml文件,如果需要,modifyData()只能用于在提交之前修改该文件的内容

从中复制WiFi样本可能是最容易的。该示例可以在其他任务中启用/禁用WiFi,您可以使用EMDK for Xamarin Visual Studio扩展()修改项目XML以满足您的需要。VS扩展为您提供了一个可视化编辑器,我不建议您尝试直接修改XML

我注意到WiFiSample总是在处理之前修改代码中的XML,但这不是必需的——下面是一个在发送之前不修改XML的应用程序示例

更新(请参阅注释):以下代码将安装指定的apk:

string[]modifyData=新字符串[1];
modifyData[0]=“”;
修改数据[0]+=“”;
修改数据[0]+=“”;
修改数据[0]+=“”;
修改数据[0]+=“”;
修改数据[0]+=“”;
修改数据[0]+=“”;
修改数据[0]+=“”;
修改数据[0]+=“”;
修改数据[0]+=“”;
修改数据[0]+=“”;
EMDKResults=arg.ProcessProfileAsync(“AppMgrProfile”,ProfileManager.PROFILE_FLAG.Set,modifyData);

我有一个EMDKConfig.xml,在Visual Studio 2019中使用EMDK配置文件管理器扩展编写。我成功地使用Power Manager应用程序重新启动了设备,该设备以前是否以任何方式进行过暂存?(例如,通过调用MX访问管理器)?你能链接到一个有此问题的示例应用程序吗?该设备还没有安装好。Projet发布在github上:感谢github回购,我用一段适合我的代码片段更新了上述答案。另外,我认为你需要将你的apk存储在一个世界可读的位置(你目前在你的应用程序沙箱中有它),它确实可以工作,即使安装apk(5mb,MyOrange.be)需要5分钟,并且它返回一个错误“安装apk时出错”,但应用程序安装正确。谢谢