java - 如何通过广播接收器启动 Activity

标签 java android broadcastreceiver

我正在尝试为我的大学做一个 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/

相关文章:

java - 如何使用eclipse快速找到java项目中的main()?

java - 当用户点击外部时,警报对话框消失

android - 无法设置 ConstraintLayout.Group 中单个项目的可见性

即使在应用程序关闭时 Internet 可用时 Android 检测网络更改

android.intent.action.MY_PACKAGE_REPLACED 不工作

android - 是否有任何 Android 电子邮件应用程序可以转发传入电子邮件的 Intent ?

java - 初始化后立即覆盖类

java - SyntaxHighlighter 用 php 加载页面?

android - 从通知栏与 AsyncTask 交互

android - 如何为列表项具有 ratingBar 的 ListActivity 启用 onListItemClick