我需要打开我的Xamarin Android应用程序的应用程序设置页面。
使用Java,似乎正确的方法是:
startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
Uri.parse("package:" + BuildConfig.APPLICATION_ID)));
使用C#,我尝试:
StartActivity(new Intent(Android.Provider.Settings.ActionApplicationDetailsSettings,
Android.Net.Uri.Parse("package:" + BuildConfig.ApplicationId)));
这没有任何作用......我尝试不使用Uri参数,在这种情况下,我得到一个异常:
Android.Content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.APPLICATION_DETAILS_SETTINGS }
我也试过
StartActivityForResult(
new Intent(Android.Provider.Settings.ActionApplicationDetailsSettings), 0);
同样的例外...
你知道吗?
谢谢。
4条答案
按热度按时间lrpiutwd1#
终于找到问题了!
在
这是
不管用的
使用Xamarin的正确调用(或者至少对我有效的调用)是
ccgok5k52#
似乎起作用了。
zzoitvuj3#
通过Visual Studio和C#使用Xamarin,我也切换到了
Application.Context.PackageName
。我一直在寻找使用
BuildConfig.ApplicationId
的Java示例,但在C#中,这使我遇到了同样的问题。我们的目标不同,但我想肯定的是,你的语法让我更接近我的语法。oxalkeyp4#
使用@Sylvain和@Mikish回答,
出现异常:
Android.Util.AndroidRuntimeException: 'Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag.
因此,稍微修改一下答案: