روشن و خاموش کردن Gps بدون رفتن به صفحه تنظیمات گوشی در برنامه نویسی اندروید

باسلام و عرض خسته نباشید و تشکر از پاسخگویی عالیتان

چطوری می شود بدون رفتن به صفحه تنظیمات گوشی GPS گوشی کاربر را خاموش و روشن کرد؟(یعنی مثلا دو تا دکمه داشته باشیم که با کلیک  بر روی دکمه اول فورا و بدون رفتن به صفحه تنظیمات گوشی gps روشن شود و با زدن دکمه دوم gps گوشی کاربر فورا و بدون رفتن به صفحه تنظیمات گوشی خاموش شود؟)

ممنون می شوم راهنمایی ام کنید

پاسخ ها

sokanacademy forum
کاربر سکان آکادمی 8 سال پیش

سلام،داخل اندروید مانیفست باید این پرمیشن ها را اضافه کنید..

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>

 

که  بعد می توانید از اینتنت ها استفاده کنید...

//Enable GPS
Intent intent=new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", true);
sendBroadcast(intent);
//Disable GPS
Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
intent.putExtra("enabled", false);
sendBroadcast(intent);
sokanacademy forum
کاربر سکان آکادمی 8 سال پیش

خیلی ممنونم از پاسخگویی سریعتان

فقط یک سوال آیا با به کاربردن کدهای بالا مثلا برای روشن کردن gps نرم افزار وارد صفحه تنظیمات gps می شود یا مستقیم gps را روشن می کند؟

sokanacademy forum
کاربر سکان آکادمی 8 سال پیش

سورس بالا باید اتوماتیک این کارو کنه ولی این سورس هم چک کنید

private void turnGPSOn(){
    String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);

    if(!provider.contains("gps")){ //if gps is disabled
        final Intent poke = new Intent();
        poke.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider"); 
        poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
        poke.setData(Uri.parse("3")); 
        sendBroadcast(poke);
    }
}

private void turnGPSOff(){
    String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);

    if(provider.contains("gps")){ //if gps is enabled
        final Intent poke = new Intent();
        poke.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
        poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
        poke.setData(Uri.parse("3")); 
        sendBroadcast(poke);
    }
}
online-support-icon