Я разрабатываю очень простое приложение, которое подключается к сети Wi-Fi, а затем делает некоторые вещи.Не удается вернуться с wifi конфигурации страницы
Идея состоит в том, что я открываю страницу конфигурации wifi для выбора сети Wi-Fi.
До сих пор здесь все в порядке. Но когда я нажимаю кнопку «Назад», чтобы вернуться к моему приложению, она перезагружает страницу конфигурации Wi-Fi.
Вот мой код:
public class SetHttp extends Activity {
public final static String EXTRA_MESSAGE = "com.example.WebcamView.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_set_http);
WifiManager mWifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
if(!mWifi.isWifiEnabled()){
mWifi.setWifiEnabled(true);
}
sendIntent();
}
protected void sendIntent(){
Intent enwifi = new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS);
startActivityForResult(enwifi, 3);
}
public void sendHttp(View view){
Intent intent = new Intent(this, WebPage.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
}
Я попытался создать OnStart, onRestart ... методы, но сбои приложений.
Любые идеи? Должен использовать startActivityForResult и onActivity Result и что я должен писать на ActivityResult ??
спасибо!
Я пробовал некоторые вещи, но ни один из них не работает. Вот мой код:
public class SetHttp extends Activity {
public final static String EXTRA_MESSAGE = "com.example.WebcamView.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_set_http);
WifiManager mWifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
if(!mWifi.isWifiEnabled()){
mWifi.setWifiEnabled(true);
}
//sendIntent();
}
protected void onStart(){
super.onStart();
//sendIntent();
}
protected void onRestart(){
super.onRestart();
//sendIntent();
setContentView(R.layout.activity_set_http);
}
protected void onPause(){
super.onPause();
setContentView(R.layout.activity_set_http);
}
protected void onStop(){
super.onStop();
}
protected void onResume(Bundle savedInstanceState){
super.onResume();
setContentView(R.layout.activity_set_http);
sendIntent();
}
protected void sendIntent(){
Intent enwifi = new Intent(android.provider.Settings.ACTION_WIFI_SETTINGS);
startActivity(enwifi);
}
public void sendHttp(View view){
Intent intent = new Intent(this, WebPage.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
}
Благодарим вас за ваш ответ. Я получаю первый комментарий, итак, где вы, сугстер, я помещаю его так, чтобы он выполнял свою работу за один раз, а затем я могу вернуться к моему приложению? – user2149122
Просто подключите флаг = false. Вместо sendIntent(); сделайте это если (! подключен) { sendIntent(); } В onRestart() вы можете добавить эту часть, но убедитесь, что она вызывается только один раз (добавьте еще один флаг для firstRun, например) и сделайте это true в onCreate(). ConnectivityManager connManager = (ConnectivityManager) getSystemService (Context.CONNECTIVITY_SERVICE); NetworkInfo ni = connManager.getNetworkInfo (ConnectivityManager.TYPE_WIFI); if (ni.isConnected()) { connected = true; } Итак, когда вы вернетесь, вы не должны начинать это снова. –
Извините, о плохом форматировании, думаю, комментарии не так хороши с кодом. Спросите еще раз, если я не объясню это. –