PDA

View Full Version : Abilitare modalità aereo con Android Studio


Axembled
31-03-2020, 19:51
Ciao a tutti, sono alle primissime armi di Android Studio e Java e sono diversi giorni che sto impazzendo appresso a questo codice:

public class MainActivity extends AppCompatActivity {
public void airplane() {
// read the airplane mode setting;
boolean isEnabled = Settings.System.getInt(
getContentResolver(),
Settings.Global.AIRPLANE_MODE_ON, 0) == 1;

Settings.System.putInt(
getContentResolver(),
Settings.Global.AIRPLANE_MODE_ON, isEnabled ? 0 : 1);

Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", !isEnabled);
sendBroadcast(intent);
}
}

Devo far passare in modalità aereo il device prima che venga avviata la prima scherma dell'app. Vorrei capire perché non riesce a passare nonostante non risulti nessun errore....
Spero in qualche aiuto...
Grazie mille in anticipo

misterx
01-04-2020, 07:29
cos'è quel == 1 ?

Axembled
01-04-2020, 16:51
Non lo so sinceramente... ho preso il codice on line, sono davvero alle prime armi con una scadenza impossibile...

Inviato dal mio SM-J330FN utilizzando Tapatalk

Kaya
02-04-2020, 07:20
E' perchè è identato male.
boolean isEnabled = Settings.System.getInt( getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0) == 1;

praticamente isEnable è true se Settings.System.getInt( getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0) vale 1, falso altrimenti

Axembled
02-04-2020, 14:38
E' perchè è identato male.
boolean isEnabled = Settings.System.getInt( getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0) == 1;

praticamente isEnable è true se Settings.System.getInt( getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0) vale 1, falso altrimenti

grazie mille Kaya... si avevo capito il secondo fatto ma non volevo sparare castronerie (quando chiedi qualcosa in gruppi o forum vieni aggredito come se fossi n'eretico :rolleyes: )
provo a controllare l'indentatura.
Mi è stato detto, inoltre, che dovrei richiamare airplane() in onCreate.
Ti posto il codice completo così riesco a capire cosa significa...
perdonami ma Java è nuovissima cosa per me e lo sviluppo de sta roba è solo uno strumento per un progetto di tutt'altro ambito :muro: :muro: :muro: ..
Grazie mille ancora :) :)

package aesse.myapplication;
import android.content.Intent;
import android.provider.Settings;
import android.support.v7.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {


public void airplane() {
boolean isEnabled = Settings.System.getInt(
getContentResolver(),
Settings.Global.AIRPLANE_MODE_ON, 0) == 1;

Settings.System.putInt(
getContentResolver(),
Settings.Global.AIRPLANE_MODE_ON, isEnabled ? 0 : 1);

Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", !isEnabled);
sendBroadcast(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}

Kaya
03-04-2020, 07:41
se ho capito bene, basta che nel metodo onCreate richiami airplane()

Però non conosco bene il mondo della programmazione android, quindi non ho idea.
Tuttavia a naso mi viene da pensare che Java proprio non lo conosci (senza offesa eh) e forse dovresti partire da lì, prima che da Android..

Axembled
15-04-2020, 14:23
se ho capito bene, basta che nel metodo onCreate richiami airplane()

Però non conosco bene il mondo della programmazione android, quindi non ho idea.
Tuttavia a naso mi viene da pensare che Java proprio non lo conosci (senza offesa eh) e forse dovresti partire da lì, prima che da Android..

figurati Kaya! :D :D esatto non lo conosco per nulla... è un progetto da sviluppare per l'uni e finora ho avuto a che fare con tutt'altro.
cmq sia ho risolto... cominciando a studiare java ho capito dove era il problema :) :)