Cordova/Phonegap Android Parse Push Notification 未恢复应用程序

Posted

技术标签:

【中文标题】Cordova/Phonegap Android Parse Push Notification 未恢复应用程序【英文标题】:Cordova/Phonegap Android Parse Push Notification not resuming app 【发布时间】:2014-07-16 13:42:39 【问题描述】:

我在我的 Cordova android 应用程序中使用 Parse 推送通知。通知可以正常到达,但是当点击打开应用程序时,它会以黑屏打开。

当我点击 Android 设备的返回按钮时,黑屏消失,cordova 应用程序从后面出现。因此,我认为该应用似乎不仅仅是在恢复,而是打开了一个空白 Activity。

我正在使用以下插件:https://github.com/benjie/phonegap-parse-plugin,另外我在主活动类中添加了一些额外的行,包括如下:

package com.mycompany.myapp;

import android.os.Bundle;
import org.apache.cordova.*;

import com.parse.Parse;
import com.parse.ParseAnalytics;
import com.parse.ParseInstallation;
import com.parse.PushService;

public class MyApp extends CordovaActivity 

    @Override
    public void onCreate(Bundle savedInstanceState)
    
        super.onCreate(savedInstanceState);
        super.init();
        super.loadUrl(Config.getStartUrl());

        // register device for parse
        Parse.initialize(this, APP_ID, PRIVATE_KEY);
        PushService.setDefaultPushCallback(this, MyApp.class);
        ParseAnalytics.trackAppOpened(getIntent());
        ParseInstallation.getCurrentInstallation().saveInBackground();
    

那么我该怎么做才能让应用从后台返回,而不尝试采取任何特定操作并在顶部显示这个黑屏?

【问题讨论】:

【参考方案1】:

回答我自己的问题,这是我从解析文档中得知的预期结果

当客户端收到推送消息时,会出现通知 在系统托盘中。当用户点击通知时,他们将 通过YourActivity 的新实例进入应用程序。

发件人:https://parse.com/docs/android/api/com/parse/PushService.html

所以关键是,它会创建一个新实例,我假设它会尝试加载我的 index.html,但没有 Cordova 初始化或 deviceReady,因为应用程序本身已经在运行。

当我找到解决方法时,我会发布它。

更新

我错了,我的 config.xml 中有以下设置:

<preference name="KeepRunning" value="false"/>

删除修复它,因为它默认为true。来自 Cordova 文档:

KeepRunning(布尔值,默认为 true):确定是否 即使在暂停事件之后,应用程序仍会在后台运行 火灾。将此设置为 false 不会在暂停后终止应用程序 事件,但只是停止在cordova webview中执行代码 当应用在后台时。

http://cordova.apache.org/docs/en/3.5.0/guide_platforms_android_config.md.html#Android%20Configuration

【讨论】:

以上是关于Cordova/Phonegap Android Parse Push Notification 未恢复应用程序的主要内容,如果未能解决你的问题,请参考以下文章

在 Cordova / PhoneGap 中生成 iOS 和 Android 图标

eclipse / Android上的Cordova phonegap

如何在 android 中远程更新我的 cordova/phonegap 移动应用程序?

Android移动APP开发笔记——Cordova(PhoneGap)通过CordovaPlugin插件调用 Activity 实例

Cordova/Phonegap Android Parse Push Notification 未恢复应用程序

Ionic / Cordova / Phonegap:有没有办法在iOS和Android上禁用表情符号键盘?