Доступ к методу BroadcastReceiver onReceive () в действии - PullRequest
0 голосов
/ 29 апреля 2019

Я написал некоторый связанный код для AlarmManager приложения.

Я хочу сделать что-то вроде написания тоста в упражнении, наверняка я не могу сделать это в методе onReceive (), вопрос в том,что, как я могу сделать это в деятельности?

public class MainActivity extends AppCompatActivity implements View.OnClickListener,BroadConnect.IsConnect {

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

        vv();

        setRecurringAlarm(MainActivity.this);
    }

    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,10);
        //updateTime.set(Calendar.MINUTE,31);
        updateTime.set(Calendar.MINUTE,1);
        updateTime.set(Calendar.SECOND,20);

        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);
    }

    @Override
    public void onReceiveTimer() {
        Toast.makeText(MainActivity.this,"OK",Toast.LENGTH_LONG).show(); //This will not be displayed 
    }
}
public class BroadConnect extends BroadcastReceiver {

    private  IsConnect isConnect;

    public interface IsConnect{
        void onReceiveTimer();
    }

    public void setIsConnect(IsConnect isConnect) {
        this.isConnect = isConnect;
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        isConnect.onReceiveTimer(); //It runs this and makes a ERRORE
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...