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)
}
Вы не можете, начиная с Android 1.5. Максимум, что вы можете сделать, - это открыть задание, чтобы пользователь мог включить или выключить его. Используйте действие, проведенное в android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS
, чтобы создать Намерение, чтобы открыть это действие.
Этот код метода может помочь вам
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();
}
}
. Сначала проверьте, включена ли уже служба определения местоположения?
Проверка включена служба определения местоположения
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();
}
Если ваш вопрос на уровне пользователя Android, эти свойства находятся в: "Settings -> Location -> Use wireless networks" -> "Settings -> Location -> Use GPS satellites"
.
Но у разработчика можно использовать класс "android.provider.Settings.Secure"
с соответствующими разрешениями.
if(!LocationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER ))
{
Intent myIntent = new Intent( Settings.ACTION_SECURITY_SETTINGS );
startActivity(myIntent);
}