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 实例