Как программно включить GPS в Капкейке Android

m <- matrix(1:9, nrow = 3)
m
     [,1] [,2] [,3]
[1,]    1    4    7
[2,]    2    5    8
[3,]    3    6    9
n <- m + t(m) # add transpose to original
n
     [,1] [,2] [,3]
[1,]    2    6   10
[2,]    6   10   14
[3,]   10   14   18
n * upper.tri(n) # clear out the lower diagonal
     [,1] [,2] [,3]
[1,]    0    6   10
[2,]    0    0   14
[3,]    0    0    0

Так что вы можете сделать функцию

my_func <- function(m) {
  # do some assertions: m is matrix, square and numeric etc
  (m + t(m)) * upper.tri(m)
}
27
задан THelper 2 May 2012 в 11:41
поделиться

5 ответов

Вы не можете, начиная с Android 1.5. Максимум, что вы можете сделать, - это открыть задание, чтобы пользователь мог включить или выключить его. Используйте действие, проведенное в android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS, чтобы создать Намерение, чтобы открыть это действие.

51
ответ дан CommonsWare 28 November 2019 в 04:32
поделиться

Этот код метода может помочь вам

private void turnGPSOnOff(){
  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);
    //Toast.makeText(this, "Your GPS is Enabled",Toast.LENGTH_SHORT).show();
  }
}
.
6
ответ дан William 28 November 2019 в 04:32
поделиться

Сначала проверьте, включена ли уже служба определения местоположения?

Проверка включена служба определения местоположения

public boolean isLocationServiceEnabled(){
    LocationManager locationManager = null;
    boolean gps_enabled= false,network_enabled = false;

    if(locationManager ==null)
        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    try{
        gps_enabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER);
    }catch(Exception ex){
        //do nothing...
    }

    try{
        network_enabled = locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
    }catch(Exception ex){
        //do nothing...
    }

    return gps_enabled || network_enabled;

}

Затем, наконец, открыть, если служба определения местоположения была отключена ранее

  if (isLocationServiceEnabled())) {
          //DO what you need...
     } else {
          AlertDialog.Builder builder = new AlertDialog.Builder(this);
          builder.setMessage("Seems Like location service is off,   Enable this to show map")
      .setPositiveButton("YES", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialogInterface, int i) {
                             Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
                                    startActivity(intent);
                                }
                            }).setNegativeButton("NO THANKS", null).create().show();
                }
1
ответ дан yubaraj poudel 28 November 2019 в 04:32
поделиться

Если ваш вопрос на уровне пользователя Android, эти свойства находятся в: "Settings -> Location -> Use wireless networks" -> "Settings -> Location -> Use GPS satellites".

Но у разработчика можно использовать класс "android.provider.Settings.Secure" с соответствующими разрешениями.

-5
ответ дан Reno 28 November 2019 в 04:32
поделиться
if(!LocationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER ))
{
    Intent myIntent = new Intent( Settings.ACTION_SECURITY_SETTINGS );
    startActivity(myIntent);
}
15
ответ дан 28 November 2019 в 04:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: