Worklight 6.2 Android应用程序未在推送通知时启动

时间:2014-12-31 19:41:25

标签: android push-notification ibm-mobilefirst

我正在尝试将推送通知用于在Worklight 6.2中编写的Android环境应用程序。我已经让应用程序接收推送通知,但是当我点击状态栏中的通知时,它会清除通知但不启动应用程序。

我在这里查看了答案IBM Worklight 5.0.6.1 - Not getting Push Notifications when phone/app is closed,但是将app_name字符串更改回应用程序的原始名称,正如接受的答案所示,不会导致应用程序启动。我还尝试了另一个注释建议,从app描述符中删除displayName中的嵌入空格,这也没有用。

我看过logcat并且没有看到任何消息表明它找不到要启动的应用程序。我希望那里的东西会给我一个暗示它正在寻找什么,但没有运气。

是否有其他设置已经不同步,以便点击通知不启动应用程序?我自己找不到任何其他东西(可能因为它不存在)。

由于

1 个答案:

答案 0 :(得分:1)

在回答以下问题时,请参阅我的解释。它还提供了一个解决方案:App not opened when clicking on message in notification area


复制/粘贴相关文字:

res \ values \ strings.xml中的app_name值在内部用于创建Intent对象。因此,当应用程序关闭且GCMIntentService收到消息时,它会创建一个意图,其操作为<packagename>.<app_name>,并将其发送到通知服务,以在通知栏中显示通知。

这是AndroidManifest.xml中使用的意图名称,表示必须在点击通知时启动应用程序:

<activity android:name=".PushNotifications" android:label="@string/app_name" android:configChanges="orientation|keyboardHidden|screenSize" android:launchMode="singleTask" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:screenOrientation="sensor"> 
    ....
    <intent-filter> 
        <action android:name="com.PushNotifications.PushNotifications.NOTIFICATION"/>  
        <category android:name="android.intent.category.DEFAULT"/> 
    </intent-filter> 

现在,如果将app_name更改为任何其他字符串,则会在内部将意图创建为com.PushNotifications.<new_name>
但AndroidManifest.xml仍然具有例如com.PushNotifications.PushNotifications(在示例应用程序的情况下),因此应用程序未启动,因为意图操作不同。

要使用其他名称显示应用程序,请按以下步骤操作:

  1. 在strings.xml中,添加其他new_name_value
  2. 在AndroidManifest.xml中,使用新字符串名称

    修改标签
    <application android:label="@string/app_new_name" android:icon="@drawable/icon"> 
    <activity android:name=".PushNotifications" android:label="@string/app_new_name"...