android - 仅显示通知而不启动 Activity

标签 android notifications

我正在尝试开发一个用于组织的应用程序。因此,在设置特定时间的任务后,我创建了一个通知,因此此通知显示在状态栏上,当用户触摸此通知时,将显示当前 Activity 。
我的问题是:当通知出现时, Activity 也会启动。
有什么办法可以防止这种情况吗?我的意思是,当通知出现时,Activity 不会自动启动,用户必须单击通知才能唤醒 Activity。

我里面有“Main”类和一个警报管理器。该警报管理器将在特定时间触发并启动另一个 Activity (DisplayNotification)。

{
    Intent intent = new Intent("com.test.DisplayNotification");
    intent.putExtra("alarm_message", "Alarm");
    intent.putExtra("item_name", "message");
    PendingIntent broadcast = PendingIntent.getActivity(getBaseContext(), 0, intent, 0);
    AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE);
    am.set(AlarmManager.RTC_WAKEUP, mili, broadcast);
}

在 DisplayNotification 类中,我有

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        String message = getIntent().getExtras().getString("item_name");

        Intent i = new Intent("com.test.Main");


        PendingIntent detailsIntent = 
            PendingIntent.getActivity(this, 0, i, 0);

        NotificationManager nm = (NotificationManager)
            getSystemService(NOTIFICATION_SERVICE);
        Notification notif = new Notification(
            R.drawable.icon, 
            "Time's up!",
            System.currentTimeMillis());

        CharSequence from = "AlarmManager - Time's up!";
        notif.setLatestEventInfo(this, from, message, detailsIntent);


        nm.notify(1, notif);
        //---destroy the activity---
        finish();

    }

最佳答案

使用 BroadcastReceiver “监听”警报的结果,然后让它创建 Notification在其 onReceive(...)方法。

关于android - 仅显示通知而不启动 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10153232/

相关文章:

ios - 为什么 iOS 模拟器上不会触发通知?

Android 将数据从 EditText 传递到对话框的通知

php - 如何在android studio上使用webview获取json请求?

android - 为什么使用 inputStream 不读取外来字符?

java - 在android中重复启动和停止一个线程

android - ionic4 Android 无法添加任务 ':app:processDebugGoogleServices',因为该名称的任务已存在

java - Android REST Web 服务

Android:确定通知是否被用户关闭

node.js - 文件上传后谷歌云存储通知

android - 通知区 "clear all"按钮回调