نحوه روشن کردن Location Access و بررسی روشن یا خاموش بودن در اندروید

0 امتیاز
281 بازدید
سوال شده مهر 14, 1394 توسط jaykob  
باز کردن از نو مهر 14, 1394 توسط jaykob
سلام استاد

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

location access

روشن هست یا نه و اگر نبود روشن کنه تمامی این گزینه هارو که بتونیم از تمامی این گزینه ها استفاده کنیم

ممنون می شم این موضوع رو کامل توضیح بدید

با تشکر و احترام
این مطلب را به اشتراک بگذارید

1 پاسخ

+1 امتیاز
پاسخ داده شده مهر 14, 1394 توسط ASHKARAN  
انتخاب شده مهر 14, 1394 توسط jaykob
 
بهترین پاسخ

با عرض سلام
شما دسترسی لازم برای روشن کردن GPS رو ندارید....
قطعه کد زیر توانایی روشن کردن GPS در نسخه های اندروید کمتر از KITKAT رو داره....


		Intent intent = new Intent("android.location.GPS_ENABLED_CHANGE");
		intent.putExtra("enabled", true);
		  sendBroadcast(intent);

		String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
		if(!provider.contains("gps")){  
			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);


		}

اما در KITKAT این دسترسی از برنامه نویسان صلب شده ,  بنابراین شما قادر به روشن یا خاموش کردن GPS به صورت برنامه نویسی نیستید !
اما شما می تونید بررسی کنید که دسترسی به مکان  (Location) فعال هست یا نه....

 LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        final boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);

        if (!gpsEnabled) {
             //gps gheyre faale .....
        }

و بعد اگر فعال نبود صفحه تنظیمات مربوط به اون رو باز کنید تا کاربر به صورت دستی GPS  رو فعال کنه.....

Intent settingsIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(settingsIntent);

موفق باشید

دارای دیدگاه مهر 14, 1394 توسط jaykob  
سلام

دادن امتیاز کافی نبود خواستم به صورت کامل تشکر کنم بابت حوصله و وقتی که برای پاسخ دادن گذاشتید

تشکر از شما

779 سوال

714 پاسخ

1,207 دیدگاه

409 کاربر

متاسفانه نیستم

این مطلب را به اشتراک بگذارید

ali.ashkaran@gmail
ما .....
  • سعی بر پاسخگویی به سوالات دیگران داریم.
  • به سوال و یا نظر دیگران احترام می گذاریم .
  • این وبسایت را به دیگران معرفی می کنیم.
  • همواره صمیمیت و ادب را رعایت می کنیم.
  • به سوالمان برچسب های مرتبط اضافه می کنیم.
  • در حین طرح سوال فرد خاصی را مخاطب قرار نمی دهیم .
...