- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在安装我的应用程序时收到以下 NPE。请帮忙。
07-22 16:27:06.380: E/UA AP(6071): Unable to takeOff automatically
07-22 16:27:06.385: D/AndroidRuntime(6071): Shutting down VM
07-22 16:27:06.385: W/dalvikvm(6071): threadid=1: thread exiting with uncaught exception (group=0x415db2a0)
07-22 16:27:06.385: E/AndroidRuntime(6071): FATAL EXCEPTION: main
07-22 16:27:06.385: E/AndroidRuntime(6071): java.lang.RuntimeException: Unable to start receiver com.urbanairship.push.GCMPushReceiver: java.lang.NullPointerException
07-22 16:27:06.385: E/AndroidRuntime(6071): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2277)
07-22 16:27:06.385: E/AndroidRuntime(6071): at android.app.ActivityThread.access$1500(ActivityThread.java:140)
07-22 16:27:06.385: E/AndroidRuntime(6071): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
07-22 16:27:06.385: E/AndroidRuntime(6071): at android.os.Handler.dispatchMessage(Handler.java:99)
07-22 16:27:06.385: E/AndroidRuntime(6071): at android.os.Looper.loop(Looper.java:137)
07-22 16:27:06.385: E/AndroidRuntime(6071): at android.app.ActivityThread.main(ActivityThread.java:4898)
07-22 16:27:06.385: E/AndroidRuntime(6071): at java.lang.reflect.Method.invokeNative(Native Method)
07-22 16:27:06.385: E/AndroidRuntime(6071): at java.lang.reflect.Method.invoke(Method.java:511)
07-22 16:27:06.385: E/AndroidRuntime(6071): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
07-22 16:27:06.385: E/AndroidRuntime(6071): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
07-22 16:27:06.385: E/AndroidRuntime(6071): at dalvik.system.NativeStart.main(Native Method)
07-22 16:27:06.385: E/AndroidRuntime(6071): Caused by: java.lang.NullPointerException
07-22 16:27:06.385: E/AndroidRuntime(6071): at com.urbanairship.UAirship.getPackageName(Unknown Source)
07-22 16:27:06.385: E/AndroidRuntime(6071): at com.urbanairship.push.GCMPushReceiver.onReceive(Unknown Source)
07-22 16:27:06.385: E/AndroidRuntime(6071): at android.app.ActivityThread.handleReceiver(ActivityThread.java:2270)
07-22 16:27:06.385: E/AndroidRuntime(6071): ... 10 more
尽管我得到了这个,但我能够启动该应用程序。运行时:
url -X POST -u "<app id>:<mastersecret>" -H "Content-Type: application/json" --data '{"android": {"alert": "TestPushtoAPID"}, "apids": ["****4"]}' https://go.urbanairship.com/api/push/
我收到以下回复:
{
"push_id": "33e95250-f2b9-11e2-a8d0-14feb5d31f47"
}
尽管如此,我还是无法在我的设备上看到任何通知。
Part of Android Manifest
<!-- REQUIRED for Urban Airship GCM-->
<receiver android:name="com.urbanairship.CoreReceiver" />
<receiver android:name="com.urbanairship.push.GCMPushReceiver" android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
</intent-filter>
</receiver>
MainActivity 的一部分:
UAirship.takeOff(this.getApplication(), options);
PushManager.enablePush();
PushManager.shared().setIntentReceiver(IntentReceiver.class);
String apid = PushManager.shared().getAPID();
最佳答案
实际上问题出在库的正确实现上。
takeOff
以及其他配置代码应该在 Application
的 OnCreate
中用于 maintaining global state of the application 的类.这是我们大多数人出错的地方。我们把它放在前台Activity
的OnCreate
。
接下来,您需要在应用程序标记内的 AndroidManifest.xml
中提及您正在使用的 Application
类的完全限定名称这样:
<application
android:name="com.popa.app.MyApplication"
..
This 是 original docs of UA 中提到的实现方式.
关于android - Urban Airship NPE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17785971/
我有一个非常简单的问题,但搜索没有让我找到答案。在我的 application:didFinishLaunchingWithOptions 方法中,我执行以下操作来恢复程序未运行时传入的通知: //
我正在从 parse.com 迁移到 Urban Airship ,我几乎完成了,一切正常,但有一件事。当我的应用程序打开时,会向警报 View 发送推送通知不是 正在显示。如果我将应用程序放在 背景
我已按照 UA 教程进行操作并获取了我的 APID,并在我的 Android 设备上成功收到了测试推送消息。 现在我想做的下一件事是使用 JAVA 定位我的设备并发送推送消息。据我目前所知,实现这一目
我正在尝试学习 Urban Airship。看起来很容易,对吧?出色地。我只有两个问题,我似乎无法回答。 首先,我已经在我的用户 ID 下设置了开发中的所有内容。向我的手机发送消息效果很好。惊人的!但
我在我的项目中使用 Urban 飞艇,但是当我编写代码时它显示此错误请给我任何解决方案。 10-15 07:57:54.472: E/AndroidRuntime(1427): FATAL EXCEP
感谢之前的回复, 我们如何通过程序在设备 token 中设置别名和标签。我引用了飞艇文档,我发现我们可以使用 setAliasandTags 函数设置别名和标签,谁能指导我如何在 android 中执
我会逐步说明情况 我已经按照 the guide 实现了 Urban Airship 当消息来自服务器时,我的应用会自动显示通知,这是我不想要的 我想要的是处理来自服务器的消息并能够手动显示我的通知
如何将Android中的通知消息更改为本地化?我只想更改从 Urban AirShip 获得的消息,然后它才会显示在通知栏上? 最佳答案 您可以使用此方法:PushManager.shared().s
感谢之前的回复, 我对 Urban_Airship 很陌生,并将其集成到我的 android 应用程序中,我真的不知道什么是 Urban Airship 的别名,谁能指导我了解什么是别名以及如何在中设
我正在使用 php 客户端向 Urban Airship 发送通知请求。为此,我在下面提到了链接。 https://support.urbanairship.com/entries/70144047-
在创建新的生产 APNS 证书时,Apple 现在会创建一个组合的沙盒和生产证书: 上传到 Urban Airship 时,Urban Airship 报错说它是 Sandbox 证书。 我们已经联系
我正在尝试将 UrbanAirship 集成到我的项目中,但出现以下错误: 2016-08-25 16:26:23.898 Fibre[7758:368753] [E] __52+[UAirship
我想从 Urban Airship 发送的额外键值中获取值。请帮助如何获得这些值。我能够收到推送通知。但我不知道如何从有效负载中获取数据。 public class IntentReceiver ex
我在尝试将 Urban Airship PUSH 通知集成到我的 Android 应用程序时遇到问题。 我认为我已经在 AndroidManifest 集中获得了我的所有权限和 Intent 过滤器,
我已成功实现 Urban airship for development 。我创建了一个生产应用程序并在 airshipConfig 文件中设置 key 和 secret ,其中临时:是。我为生产生成
如何在android中实现 Urban Airship ?我从下载样本 here .我运行我得到安装选项的应用程序。安装后我什么也得不到。其实我不知道如何用android设置 Urban Airshi
我在使用 Urban Airship 时遇到问题,特别是在为 Rich Push 注册用户时。我在 AppDelegate 中有以下代码 //Create Airship options dictio
使用 Xcode 5.0 升级到 UrbanAirship 3.0.0,调用此代码时出现错误: [UAirship takeOff:config]; 错误是 +[NSJSONSerialization
我在安装我的应用程序时收到以下 NPE。请帮忙。 07-22 16:27:06.380: E/UA AP(6071): Unable to takeOff automatically 07-22 16
嘿大家,这是我第一次来这里,但不是最后一次,我可以从这里回答的所有好问题中看到:D 这是我的问题:我即将制作一个新的 iPhone 应用程序,并希望在其中使用应用程序内购买。我是一名单人开发人员,所以
我是一名优秀的程序员,十分优秀!