Как отправить намерение BroadcastReceiver в активность для изменения пользовательского интерфейса в активности - PullRequest
0 голосов
/ 01 мая 2019

Я хочу следующее:

-В 12 часов вечера AlarmManager активен и в действии я могу обновить пользовательский интерфейс и показать тост и другие вещи .....

Iнаписал этот код, но сделал ошибку?

  @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    vv();
    setRecurringAlarm(this);

}

@Override
protected void onNewIntent(Intent intent) {

    memberFieldString = intent.getStringExtra("ppp");

    super.onNewIntent(intent);
} 

@Override
protected void onResume() {
    super.onResume();
    if (memberFieldString != null) {

             Toast.makeText(MainActivity.this,"ok1" ,Toast.LENGTH_LONG).show();
          //  txt4_count_kharid4.setText("nnnnnnnn");

    }
}

private void setRecurringAlarm(Context context) {

    Calendar updateTime = Calendar.getInstance();
    //updateTime.setTimeZone(TimeZone.getTimeZone("GMT+5:00"));
    updateTime.setTimeZone(java.util.TimeZone.getTimeZone("GMT+5:00"));
    updateTime.set(Calendar.HOUR_OF_DAY, 12);
    updateTime.set(Calendar.MINUTE, 1);

    Intent intent = new Intent(context, BroadConnect.class);
    PendingIntent recurringDownload = PendingIntent.getBroadcast(context, 0, intent,
            PendingIntent.FLAG_UPDATE_CURRENT);
    AlarmManager alarms = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

    alarms.setInexactRepeating(AlarmManager.RTC_WAKEUP, updateTime.getTimeInMillis(), AlarmManager.INTERVAL_DAY,
            recurringDownload);

}

...

Это также код для BroadcastReceiver

enter codepublic class BroadConnect extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {

    Intent intent2open = new Intent(context, MainActivity.class);
    String name = "ppp";
    String value = "String you want to pass";
    intent2open.putExtra(name, value);
    context.startActivity(intent2open);}}
...