В моем приложении есть условие, которое проверяет каждый день, и если оно становится истинным, тогда я хочу, чтобы мое приложение приблизилось к пробегу, как к сбою, и стек также становится ясным.Запуск приложения Приложение от BroadcastReceiver
Я попытался проверить множество решений, но не нашел тот, который работает так, как я хотел. Мой BroadcastReceiver:
public void onReceive(Context context, Intent intent) {
PreferenceForApp prefs = new PreferenceForApp(context);
Bundle bundle = intent.getExtras();
if (bundle!=null){
if(bundle.containsKey("exception")) {
// String e = bundle.getString("exception")
if(bundle.get("exception").toString().equalsIgnoreCase("http request failed with error_msg No Match Found")) {
prefs.setIsDeviceValidated(false);
prefs.setIsLogIn(false);
Log.i("Time", "Exception Occur");
Intent CSPIntent=new Intent(context,CSPLoginActivity.class);
CSPIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP);
CSPIntent.putExtra("close_activity", true);
Log.i("Time", "IntentExit");
context.startActivity(CSPIntent);
}
}
}
}
}
И код завершения в деятельности я звоню из BroadcastReceiver:
if (getIntent().getBooleanExtra("close_activity",false)) {
Log.i("Time", "ExitCSPLogin");
this.finish();
}
Этот код не закрывает приложения между пробеге.
вы должны использовать этот флаг в OnCreate, чтобы проверить устройство действительный или нет, каждый раз, когда пользователь вводит ваше приложение (его средства в вашем первом действии). попробуй. –