Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Γειά σας παιδιά. Έχω μια ερώτηση. Φτιάχνω μια εφαρμογή android, η οποία σε κάποιο σημείο εκτέλεσης της, τρέχει ένα mapView. Το πρόβλημα που έχω, και γενικά δεν έχω βρει λύση στο internet, είναι πως, για να χρησιμοποιήσω σωστά το GPS της συσκευής μου για να βρω την τρέχουσα θέση κτλ. πρέπει να η συσκευή να έχει τρέξει μια άλλη εφαρμογή πιο πριν, (εγώ τρέχω το destinator) η οποία να χρησιμοποιεί το GPS και μόνο τότε, ξεκινάει το GPS και μπορώ να το χρησιμοποιήσω στην δική μου εφαρμογή. Έχετε κάποια ιδέα, ώστε να ξεκινάει το GPS με το που τρέχει η εφαρμογή μου;

Δημοσ.

Νομίζω ότι το gps δεν ενεργοποιείται αυτόματα και πρέπει αν όχι να το έχεισ ενεργοποιημένο πριν ανοίξεις την εφαρμογή, τουλάχιστον να σου βγάζει μήνυμα ότι το έχεις απενεργοποιημένο και να σε πηγαίνει στα settings όπου μπορείς να το ενεργοποιήσεις εκείνη τη στιγμή. Έτσι τουλάχιστον έχω δει να γίνεται σε όσες εφαρμογές έχω χρησιμοποιήσει με gps (cardio trainer, sygic κλπ).

Δημοσ.

Μπορείς να το κάνεις και αυτόματα (εκμεταλευόμενος ένα μικρό hack) αλλά νομίζω μέχρι την έκδοση 3.x (δεν θυμάμαι ακριβώς μέχρι ποια έκδοση και δεν το έχω και σημειωμένο σε κάποιο εμφανές σημείο αυτή την στιγμή).

 

Ο κώδικας πάντως για ενεργοποίηση είναι ο παρακάτω:

>
String provider = android.provider.Settings.Secure.getString(getContentResolver(),
android.provider.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);
}

 

Για απενεργοποίηση τώρα είναι ο ακόλουθος:

>
String provider2 = android.provider.Settings.Secure.getString(getContentResolver(),
android.provider.Settings.Secure.LOCATION_PROVIDERS_ALLOWED);

if (provider2.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);
}

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...