Android - włączanie bluetooth bez ingerencji użytkownika

Odpowiedz Nowy wątek
2019-08-01 15:27
0

Hej wszystkim,

Napisałem swoją pierwszą mobilną aplikację w C# pod Xamarin Android. Nic szałowego - włączanie i wyłączanie bluetooth buttonami. Problem w tym, że za każdym razem przy zmianie stanu, wyskakuje okienko systemowe, w którym trzeba potwierdzić włączenie/wyłączenie bluetooth przez aplikację. Czy jest możliwe, aby po uruchomieniu aplikacji użytkownik był pytany raz, czy zezwolić aplikacji na zarządzanie bluetooth, a nie za każdym kliknięciem przycisku?

Kod:

namespace App3
{
    [Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
    public class MainActivity : AppCompatActivity
    {
        private BluetoothManager _manager;
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.activity_main);

            Button myButton = FindViewById<Button>(Resource.Id.button1);
            Button cleatButton = FindViewById<Button>(Resource.Id.button2);
            TextView myText = FindViewById<TextView>(Resource.Id.textView1);
            _manager = (BluetoothManager)Android.App.Application.Context.GetSystemService(Android.Content.Context.BluetoothService);

            myButton.Click += (sender, e) =>
            {
                myText.Text = "Bluetooth ON";
                _manager.Adapter.Enable();
            };

            cleatButton.Click += (sender, e) =>
            {
                myText.Text = "Bluetooth OFF";
                _manager.Adapter.Disable();
            };
        }
    }
}

Plik manifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
          android:versionCode="1" 
          android:versionName="1.0" 
          package="App3.App3">
  <uses-permission android:name="android.permission.BLUETOOTH"/>
  <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/>
  <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="27" />
  <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme">
  </application>
</manifest>

screenshot-20190801152452.png

edytowany 2x, ostatnio: cerrato, 2019-08-01 15:46

Pozostało 580 znaków

2019-08-02 13:42
1

To jest Huawei? On tak ma.

Możesz spróbować przez zmianę ustawień: https://stackoverflow.com/a/10250520.

Pozostało 580 znaków

2019-08-06 10:11
0
Ktos napisał(a):

To jest Huawei? On tak ma.

Możesz spróbować przez zmianę ustawień: https://stackoverflow.com/a/10250520.

Tak to Huawei :) Wifi włącza się bez problemu tylko bluetooth zawsze pyta o pozwolenie. Miałem zrobić apkę żeby co jakiś czas włączała mi BT i sprawdzała czy może się połączyć z zestawem w aucie, ale doczytałem, że EMUI na tyle dobrze zarządza energooszczędnością BT, że zysk byłby mierny.

edytowany 1x, ostatnio: bilborrd, 2019-08-06 10:12

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0