android - 如何关闭 Android >= 3.0 中带有附加按钮的自定义丰富通知中的通知下拉列表?

标签 android notifications android-3.0-honeycomb android-4.0-ice-cream-sandwich

我成功地为 Android >= 3.0 创建了一个自定义富通知,它显示了一些文本和一个额外的按钮。如果您在通知下拉列表中的按钮以外的任何地方单击通知,通知将被取消,下拉列表将关闭,并按预期启动指定的 Intent。 如果点击通知中的专用按钮,则成功启动了不同的 Intent,但下拉菜单保持打开状态(通知仍然存在,但我后来取消了,这不是问题)。 Intent 启动一个出现在通知下拉列表后面的 Activity 。

我想实现的是保持所描述的所有当前行为,同时关闭按钮启动的 Intent 中的通知下拉菜单 - 这可能吗?或者,如果来自按钮 Intent 的 Activity 获得窗口焦点就足够了。

这里是自定义通知的代码,如果有帮助的话:

            Notification.Builder builder = new Notification.Builder(main)
                .setSmallIcon(R.drawable.notification)
                .setAutoCancel(true)
                .setTicker(text)
                .setContentIntent(...);

            RemoteViews layout = new RemoteViews(
                    main.getPackageName(), R.layout.notification);
            layout.setTextViewText(R.id.title, title);
            layout.setTextViewText(R.id.text, text);
            Intent i = new Intent(
                    "snooze", null, main, Snooze.class
            );
            i.putExtra(KEY_WIDGET_ID, widgetId);
            layout.setOnClickPendingIntent(R.id.notification_zzz, PendingIntent.getActivity( main, 0, i, PendingIntent.FLAG_UPDATE_CURRENT ));
            builder.setContent(layout);

            ...
            NotificationManager nm = 
                (NotificationManager)main.getSystemService(Context.NOTIFICATION_SERVICE);
            nm.notify(0, builder.getNotification());

最佳答案

在Android开发者办公时间问的问题: http://www.youtube.com/watch?v=XvLBvdml_Fs (问题开始 49:10)

答案是,这是不可能的,我什至不应该这样做,对此我表示质疑。 这就是为什么我创建了一个功能请求: http://code.google.com/p/android/issues/detail?id=24762

编辑 08-10-12: 从 Android 4.1 开始,这是可能的,因为通知现在可以包含其他操作。有关详细信息,请参阅以下页面: https://developer.android.com/about/versions/android-4.1.html#UI

关于android - 如何关闭 Android >= 3.0 中带有附加按钮的自定义丰富通知中的通知下拉列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8864465/

相关文章:

java - 是否可以从其他类访问主 Activity 中的插页式广告?

android - 前台服务通知需要几秒钟才能显示

android - 在聊天应用程序中使用什么通知系统?

android - Device Policy Manager - 重置密码 - Android 3.0 问题

android - 是否可以使用云发送带有解析推送通知的附加数据?

安卓软键盘

android - 尝试使用 onSaveInstanceState() 恢复 String[][] 时出现 "java.lang.NullPointerException: Attempt to get length of null array"

Cocoa:对使用 CoreData 和 Bindings 与 UI 对象交互感到困惑

android - 安装 .apk 文件问题

android - 以编程方式更新的 SD 卡文件不会在 Windows 资源管理器中更新