Android 6.0以降で自分のアプリをホワイトリストに登録しようとしています。私はこれを行うためにAndroidのコードを見たことがありますが、XamarinとXamarinのドキュメントでは翻訳されません。SetActionは文字列を引数にとり、同じではないAndroidドキュメントへのリンクを示します。XamarinでSetActionを使用する方法
ここXamarinは、それは設定が好きではありません
intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
を受け付けないAndroidのコードです。私はSetAction()が文字列argを取ると言うXamarinのドキュメントを読んだ。それは彼らが言うことであり、Androidのドキュメントを指している。
注、私はjavascriptのインタフェースクラスでこれを呼び出していると私はこれを試してみましたが、それは
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);
}
}
動作しないので、これを達成するための正しい構文は何ですか?
これは問題ではないので、私はテストしませんでした。質問は構文に関するもので、Visual Studioは正しい構文だと言います。ありがとうございました。承認済みとしてマーク – Bobh