我正在尝试为我的大学做一个 Android 练习,但我被困在闹钟部分。当您得到闹钟确定的时间时,我需要发送警报并可以打开另一个 Activity 来接收通知。
但是由于该类已经扩展了 BroadcastReceiver,我如何才能启动另一个 Activity ?
我的类(class)是这样的:
public class ReceiverAlarme extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//inicia a Activity do Treino
Intent itTreino = new Intent(this, telaTreino.class);
//Does not work
//startActivity(itTreino);
//tentei fazer uma notificação que abrisse o programa, mas não rolou
Notification.Builder notificacao = new Notification.Builder(this);
notificacao.setDefaults(Notification.DEFAULT_ALL)
.setSmallIcon(android.R.drawable.ic_dialog_email)
.setContentTitle("Agendamento do teste")
.setContentText("Você tem um teste agendado!")
.setContentIntent(PendingIntent.getActivities(getApplicationContext(), 1, itTreino, PendingIntent.FLAG_CANCEL_CURRENT));
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
nm.notify(1, notificacao.build());
}
}
最佳答案
您需要从 Context
运行 startActivity
,因此请尝试以下操作:
context.startActivity(itTreino);
关于java - 如何通过广播接收器启动 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36814748/