我想从Xamarin Android应用打开应用设置页面(I'd like to open the app settings page from a Xamarin Android app)
我需要打开我的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);同样的例外......
任何想法?
谢谢。
I need to open the app settings page for my Xamarin Android app.
Using Java, it seems that the correct way to do it is:
startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.parse("package:" + BuildConfig.APPLICATION_ID)));So, using C#, I tried:
StartActivity(new Intent(Android.Provider.Settings.ActionApplicationDetailsSettings, Android.Net.Uri.Parse("package:" + BuildConfig.ApplicationId)));This does nothing... I tried without the Uri parameter, and in that case I get an exception:
Android.Content.ActivityNotFoundException: No Activity found to handle Intent { act=android.settings.APPLICATION_DETAILS_SETTINGS }I also tried
StartActivityForResult( new Intent(Android.Provider.Settings.ActionApplicationDetailsSettings), 0);Same exception...
Any idea?
Thanks.
最满意答案
我终于找到了这个问题!
在
StartActivity(new Intent(Android.Provider.Settings.ActionApplicationDetailsSettings, Android.Net.Uri.Parse("package:" + BuildConfig.ApplicationId)));就是这样
BuildConfig.ApplicationId这不起作用......
然后使用Xamarin进行正确的调用(或者至少是对我有用的调用)
StartActivity(new Intent( Android.Provider.Settings.ActionApplicationDetailsSettings, Android.Net.Uri.Parse("package:"+ Android.App.Application.Context.PackageName)));I finally found the issue!
In
StartActivity(new Intent(Android.Provider.Settings.ActionApplicationDetailsSettings, Android.Net.Uri.Parse("package:" + BuildConfig.ApplicationId)));It's the
BuildConfig.ApplicationIdthat doesn't work...
The correct call (or at least the one that worked for me) using Xamarin is then
StartActivity(new Intent( Android.Provider.Settings.ActionApplicationDetailsSettings, Android.Net.Uri.Parse("package:"+ Android.App.Application.Context.PackageName)));更多推荐
发布评论