gpt4 book ai didi

c# - 如何在 Xamarin 中使用 SetAction

转载 作者:搜寻专家 更新时间:2023-11-01 09:31:27 25 4
gpt4 key购买 nike

我正尝试在 Android 6.0 或更高版本上将我的应用列入白名单。我已经看到 Android 代码可以执行此操作,但它不会在 Xamarin 中进行翻译,Xamarin 文档仅告诉您 SetAction 将字符串作为参数,然后是指向 Android 文档的链接,但最终结果并不相同。

这是 Xamarin 不接受的 Android 代码

intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);

它不喜欢设置。我读过 Xamarin 文档,其中说 SetAction() 接受一个字符串 arg,这就是他们所说的全部内容,并向您指出 Android 文档。

请注意,我在 javascript 接口(interface)类中调用它,我试过了但它不起作用

class MyJSInterface : Java.Lang.Object
{
Context context;
public MyJSInterface(Context context)
{
this.context = context;
}
[Export]
[JavascriptInterface]
public void SetDozeOptimization()
{
Toast.MakeText(context, "launch optimization", ToastLength.Short).Show();

setDozeComplete = false;
Intent intent = new Intent();
String packageName = context.PackageName;
PowerManager pm = (PowerManager)context.GetSystemService(Context.PowerService);
if (pm.IsIgnoringBatteryOptimizations(packageName))
intent.SetAction("ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS");
else
{
intent.SetAction("ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS");
intent.SetData(Android.Net.Uri.Parse("package:" + packageName));
}
context.StartActivity(intent);
}

}

那么实现这一目标的正确语法是什么?

最佳答案

Android.Provider.Settings.ActionRequestIgnoreBatteryOptimizations:

  • android.settings.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS

Android.Provider.Settings.ActionIgnoreBatteryOptimizationSettings:

  • android.settings.IGNORE_BATTERY_OPTIMIZATION_SETTINGS

例子:

intent.SetAction(Android.Provider.Settings.ActionRequestIgnoreBatteryOptimizations);
intent.SetAction(Android.Provider.Settings.ActionIgnoreBatteryOptimizationSettings);

关于c# - 如何在 Xamarin 中使用 SetAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46941217/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com