Titanium - App只会在通知中显示一次

时间:2014-08-06 14:48:06

标签: titanium android-notifications

我的应用有时会显示多个Android通知。当有人点击它们时,我的应用程序应显示通知内容。 我设法做到了,但它只适用于用户点击的第一个通知。如果我在此之后离开应用程序(例如使用homebutton)并在下一个通知上单击,则不会发生任何事情。

我已经创建了一个示例应用程序来向您展示我目前拥有的内容。您可以在此处找到它:https://github.com/VanCoding/TitaniumNotificationTest

我做错了什么?我如何实现我的目标?

app.js

if(!Ti.App.Properties.getBool("displayedNotifications")){
    var notifications = ["Apple","Orange","Banana"];

    for(var i = 0; i < notifications.length; i++){
        var intent = Ti.Android.createIntent({
            action: Ti.Android.ACTION_MAIN,
            packageName:"com.company.notificationtest",
            className:"com.company.notificationtest.NotificationtestActivity",
            flags:Ti.Android.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED  | Ti.Android.FLAG_ACTIVITY_SINGLE_TOP
        });
        intent.addCategory(Ti.Android.CATEGORY_LAUNCHER);
        intent.putExtra("name",notifications[i]);

        Titanium.Android.NotificationManager.notify(i, Titanium.Android.createNotification({
            contentTitle: notifications[i],
            contentText : notifications[i],
            contentIntent: Ti.Android.createPendingIntent({
                intent:intent,
                type : Ti.Android.PENDING_INTENT_FOR_ACTIVITY,
                flags : Ti.Android.FLAG_ACTIVITY_NO_HISTORY
            }),
            flags : Titanium.Android.ACTION_DEFAULT | Titanium.Android.FLAG_AUTO_CANCEL | Titanium.Android.FLAG_SHOW_LIGHTS
        }));
    }

    Ti.App.Properties.setBool("displayedNotifications",true);
}

tiapp.xml

<?xml version="1.0" encoding="UTF-8"?>
<ti:app xmlns:ti="http://ti.appcelerator.org">
    <id>com.company.notificationtest</id>
    <name>NotificationTest</name>
    <version>1.0</version>
    <publisher>not specified</publisher>
    <url></url>
    <description>not specified</description>
    <copyright>not specified</copyright>
    <icon>appicon.png</icon>
    <fullscreen>false</fullscreen>
    <navbar-hidden>false</navbar-hidden>
    <analytics>true</analytics>
    <guid>91e86075-373b-44e0-9416-66183390e8af</guid>
    <property name="ti.ui.defaultunit" type="string">dp</property>
    <android xmlns:android="http://schemas.android.com/apk/res/android">
    </android>

    <modules>
    </modules>
    <deployment-targets>
        <target device="android">true</target>
    </deployment-targets>
    <sdk-version>3.2.3.GA</sdk-version>
</ti:app>

1 个答案:

答案 0 :(得分:0)

更改:

contentIntent: Ti.Android.createPendingIntent({
                intent:intent,
                type : Ti.Android.PENDING_INTENT_FOR_ACTIVITY,
                flags : Ti.Android.FLAG_ACTIVITY_NO_HISTORY
            }),

为:

contentIntent: Ti.Android.createPendingIntent({
                intent:intent,
                type : Ti.Android.PENDING_INTENT_FOR_ACTIVITY
            }),

为我修复它。使用3.3.0.GA进行测试。