PDA

View Full Version : روشن و خاموش کردن GPS



hosseinaryai
جمعه 19 تیر 1394, 19:15 عصر
با درود خدمت دوستان
خب دقیقن سوالم همینه .. چطور می تونم GPS گوشیو روشن و خاموش کنم ؟
یه کد گیر آوردم که در زیر می ذارم ، دوتا متده واسه روشن و خاموش کردن اما کار نمی کنن ، کجای کار داره می لنگه یعنی ؟



public static void turnGPSOn(Context context){
String provider = Settings.Secure.getString
(context.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.SettingsAppWidgetProvi der");
poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
poke.setData(Uri.parse("3"));
context.sendBroadcast(poke);
}
}
public static void turnGPSOff(Context context){
String provider = Settings.Secure.getString
(context.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.SettingsAppWidgetProvi der");
poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
poke.setData(Uri.parse("3"));
context.sendBroadcast(poke);
}
}

pbm_soy
شنبه 20 تیر 1394, 02:22 صبح
در نسخه های ۴ به بالای اندروید شما نمیتوانید توسط برنامه gps را خاموش ویا روشن کنید مگر اینکه دستگاه root باشد و برنامه جزو برنامه های سیستمی باشد یعنی در فولدر system/apps قرار داشته باشد وهمینطور در برنامه در فایل مانیفست هم permissionهای لازم اضافه شود

pbm_soy
شنبه 20 تیر 1394, 02:26 صبح
برای اطلاعات بیشتر به لینک زیر مراجعه کنید

http://solvedstack.com/questions/how-can-i-enable-or-disable-the-gps-programmatically-on-android

این مورد هم صرفا به دلایل امنیتی نیاز به root دارد و کار منطقی در برنامه این است که شما از کاربر بخواهید که gps دستگاه را روشن یا خاموش کند
مورد دیگر اینه که در صورت روشن بودن gps هم اگر بخواهید با آن کار کنید باز هم شما پرمیسشنهای لازم را به فایل مانیفست باید اضافه کنید