0
var bi = Settings.System.CanWrite(Android.App.Application.Context);
                        if (bi)
                        {
                            Console.WriteLine("IT HAS PERMISIONS`enter code here`");
                        }
                        else
                        {
                            Intent intent = new Intent(Android.Provider.Settings.ActionManageWriteSettings);
                            intent.SetData(Android.Net.Uri.Parse("package:" + Android.App.Application.Context.PackageName));
                            StartActivity(intent);
                            Console.WriteLine("doesnt have permisions");
                        }

i get obviously direct in else execution block, but intent get null what is the problem? how i can grant permissions for write settings? i use xamarin with c# for android mobile AND ALREADY INSERT TO MANIFEST <uses-permission android:name="android.permission.WRITE_SETTINGS" />

johncanyon
  • 19
  • 7
  • Does [this](https://stackoverflow.com/questions/63192108/is-android-permission-write-settings-only-granted-to-system-apps) or [this](https://stackoverflow.com/questions/50857936/setting-a-custom-ringtone-without-explicit-permission-of-write-settings) answer to your question ? – Elikill58 Sep 22 '21 at 16:07
  • The intent.SetData is optional. Have you tried without running that line? Just to make sure that it runs – Juan Sturla Sep 22 '21 at 16:14
  • ok i remove intent.SetData and it is not null anymore but var bi = Settings.System.CanWrite(Android.App.Application.Context); is always false – johncanyon Sep 22 '21 at 16:36
  • Can you check if the package name is correct? Maybe it's worth trying to add it manually (not recommended) or using something like [Xamarin.Essentials](https://learn.microsoft.com/en-us/dotnet/api/xamarin.essentials.appinfo.packagename?view=xamarin-essentials) – Juan Sturla Sep 22 '21 at 16:43
  • i get this from intent intent = {Intent { act=android.settings.action.MANAGE_WRITE_SETTINGS dat=package:com.companyname.lbp }} but doesnt start – johncanyon Sep 22 '21 at 16:53

1 Answers1

0
Intent intent = new Intent(Settings.ActionManageWriteSettings);
                            intent.SetData(Android.Net.Uri.Parse($"package:{Android.App.Application.Context.PackageName}"));
                            intent.AddFlags(ActivityFlags.NewTask);
                            Android.App.Application.Context.StartActivity(intent);

it works with this

johncanyon
  • 19
  • 7