我正在使用GCM Cordova(昨天与Cordova 2.6一起下载)我发现虽然我已经成功收到通知,但使用示例代码 . 但是,点击通知只是清除它并关闭通知列表 - 不启动应用程序本身 .
在连接到Eclipse的手机上运行应用程序会向我显示GCMIntentService接收消息(onMessage)并最终运行'释放唤醒锁',但应用程序无法打开 . 不应该,或者我是否必须从示例中更改代码才能实现此目的 .
我也注意到,如果我强制停止应用程序,则不再收到通知 . 这是正常的吗?
似乎答案并不简单 - 但涉及设定意图 .
我按照这篇文章开始:http://www.adobe.com/devnet/phonegap/articles/android-push-notifications-with-phonegap.html
点击在此时不起作用,所以我做了以下操作 . 在Manifest中添加了以下代码:
<intent-filter> <action android:name="NAMEOFAPP.STARTME" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter>
此代码放在GCMIntentService.java文件中 - 它替换了上述项目引用的大部分通知代码:
String message = extras.getString("message"); String title = extras.getString("title"); Intent nintent = new Intent("uk.ac.chester.uocmobile.STARTME"); nintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); nintent.addCategory(Intent.CATEGORY_DEFAULT); PendingIntent pintent = PendingIntent.getActivity(context, 0, nintent, 0); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.icon) .setContentTitle(context.getString(R.string.app_name)) .setContentIntent(pintent) .setWhen(System.currentTimeMillis()) .setPriority(Notification.PRIORITY_HIGH) .setAutoCancel(true) .setContentText(message) .setDefaults(Notification.DEFAULT_ALL); NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); mNotificationManager.notify(0, mBuilder.build());
您需要将此导入添加到同一文件中:
import android.support.v4.app.NotificationCompat;
如果在没有以下过程的情况下执行此操作,则会在编译时出错 .
右键单击您的项目,然后转到Android工具 - >添加支持库 . 添加Android支持库,修订版本13.这会将这些调用添加到您的项目中并使其全部工作 .
在此之后点按通知时,它会打开您的应用 - 将您转到您设置的主页 . 这可能不太理想,但对我有用 . 我添加了一个onstart和onresume,以确保iOS或Android上的应用程序(在HTML / JS中)将以与FaceBook应用程序相同的方式检查新消息 .
1 回答
似乎答案并不简单 - 但涉及设定意图 .
我按照这篇文章开始:http://www.adobe.com/devnet/phonegap/articles/android-push-notifications-with-phonegap.html
点击在此时不起作用,所以我做了以下操作 . 在Manifest中添加了以下代码:
此代码放在GCMIntentService.java文件中 - 它替换了上述项目引用的大部分通知代码:
您需要将此导入添加到同一文件中:
如果在没有以下过程的情况下执行此操作,则会在编译时出错 .
右键单击您的项目,然后转到Android工具 - >添加支持库 . 添加Android支持库,修订版本13.这会将这些调用添加到您的项目中并使其全部工作 .
在此之后点按通知时,它会打开您的应用 - 将您转到您设置的主页 . 这可能不太理想,但对我有用 . 我添加了一个onstart和onresume,以确保iOS或Android上的应用程序(在HTML / JS中)将以与FaceBook应用程序相同的方式检查新消息 .