我想从Xamarin Android应用打开应用设置页面

Syl*_*ain 2 android android-activity xamarin

我需要打开我的Xamarin Android应用程序的应用程序设置页面.

使用Java,似乎正确的方法是:

startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
              Uri.parse("package:" + BuildConfig.APPLICATION_ID)));
Run Code Online (Sandbox Code Playgroud)

所以,使用C#,我试过:

StartActivity(new Intent(Android.Provider.Settings.ActionApplicationDetailsSettings,
              Android.Net.Uri.Parse("package:" + BuildConfig.ApplicationId)));
Run Code Online (Sandbox Code Playgroud)

这什么都没做......我试过没有Uri参数,在这种情况下我得到一个例外:

Android.Content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.APPLICATION_DETAILS_SETTINGS }
Run Code Online (Sandbox Code Playgroud)

我也试过了

StartActivityForResult(
    new Intent(Android.Provider.Settings.ActionApplicationDetailsSettings), 0);
Run Code Online (Sandbox Code Playgroud)

同样的例外......

任何的想法?

谢谢.

Syl*_*ain 10

我终于找到了这个问题!

StartActivity(new Intent(Android.Provider.Settings.ActionApplicationDetailsSettings,
          Android.Net.Uri.Parse("package:" + BuildConfig.ApplicationId)));
Run Code Online (Sandbox Code Playgroud)

就是这样

BuildConfig.ApplicationId
Run Code Online (Sandbox Code Playgroud)

这不起作用......

然后使用Xamarin进行正确的调用(或者至少是对我有用的调用)

StartActivity(new Intent(
    Android.Provider.Settings.ActionApplicationDetailsSettings,
    Android.Net.Uri.Parse("package:"+ Android.App.Application.Context.PackageName)));
Run Code Online (Sandbox Code Playgroud)


小智 5

Xamarin.Essentials.AppInfo.ShowSettingsUI(); 似乎工作。