我创建了一个毛伊岛应用程序。我需要列出我的 Zebra 设备上的所有配置文件。 有谁知道怎么做吗
谢谢
到目前为止,我尝试过这个,但没有得到任何结果。 if 指令总是 false
公共无效zebraprofile_list() {
string EXTRA_GET_PROFILES_LIST = "com.symbol.datawedge.api.RESULT_GET_PROFILES_LIST";
string ACTION_DATAWEDGE_FROM_6_2 = "com.symbol.datawedge.api.ACTION";
string EXTRA_CREATE_PROFILE = "com.symbol.datawedge.api.CREATE_PROFILE";
var profiles = new List<string>();
global::Android.Content.Intent dwIntent = new global::Android.Content.Intent();
dwIntent.SetAction("com.symbol.datawedge.api.ACTION");
dwIntent.PutExtra("com.symbol.datawedge.api.GET_PROFILES", false);
SendDataWedgeIntentWithExtra(ACTION_DATAWEDGE_FROM_6_2, EXTRA_GET_PROFILES_LIST, "");
if (dwIntent.HasExtra("com.symbol.datawedge.api.RESULT_GET_PROFILES_LIST"))
{
Console.WriteLine("Tem extra");
}
}
private void SendDataWedgeIntentWithExtra(String action, String extraKey, String extraValue)
{
global::Android.Content.Intent dwIntent = new global::Android.Content.Intent();
dwIntent.SetAction(action);
dwIntent.PutExtra(extraKey, extraValue);
_context.SendBroadcast(dwIntent);
}
根据官方文档关于Get Profiles List,其意图应该是:
global::Android.Content.Intent dwIntent = new global::Android.Content.Intent();
dwIntent.SetAction("com.symbol.datawedge.api.ACTION");
dwIntent.putExtra("com.symbol.datawedge.api.GET_PROFILES_LIST", "");
_context.SendBroadcast(dwIntent);
并在BroadcastReceiver中接收列表:
[BroadcastReceiver(Exported = true)]
[IntentFilter(new[] {"com.symbol.datawedge.api.ACTION"})]
public class ListReceiver : BroadcastReceiver
{
public override void OnReceive(Context? context, Intent? intent)
{
//var bundler = intent.Extras;
if (intent.HasExtra("com.symbol.datawedge.api.RESULT_GET_PROFILES_LIST"))
{
var list = intent.GetStringArrayExtra("com.symbol.datawedge.api.RESULT_GET_PROFILES_LIST");
}
}
}