小编Era*_*ran的帖子

Java流 - 将列表排序到列表的HashMap

假设我有一Dog堂课.

在里面我有一个Map<String,String>和一个值是Breed.

public class Dog {
    String id;
    ...
    public Map<String,String>
}
Run Code Online (Sandbox Code Playgroud)

我想获得MapListS:

HashMap<String, List<Dog>> // breed to a List<Dog>
Run Code Online (Sandbox Code Playgroud)

我宁愿使用Stream而不是迭代它.

我该怎么做?

java hashmap java-8 java-stream

35
推荐指数
2
解决办法
2万
查看次数

在后台接收推送通知

我知道很多地方都有这个,但我无法弄清楚这一点.我使用Urban Airship进行推送通知.一切似乎都很好,除了当我的应用程序在后台时 - didReceiveRemoteNotification没有被调用.它在前台工作 - 我能够正确处理消息.如果从通知中心点击消息,我可以从启动选项获取消息.但是在后台,它发送的消息 - iOS显示警报 - didReceiveRemoteNotification未被调用.当我点击我的应用程序图标(而不是从通知中心内)时,应用程序会到达前台,我不知道通知存在.有任何想法吗?

push-notification xamarin.ios apple-push-notifications ios

33
推荐指数
3
解决办法
5万
查看次数

如何避免Android GCM消息延迟/改变心跳

我一直在阅读很多关于影响某些人的GCM问题的帖子.似乎在一些设备/路由器/运营商中,通知遭受延迟.我的路由器经历过这个问题:WIFI上的消息有很多延迟,但是当我禁用WIFI并连接到移动网络时,消息就会立即出现.

似乎可以通过Android应用程序完成解决方法.像增加心跳使GCM连接保持活跃等等.

任何人都可以告诉我们我们应该做些什么来避免延误?我们如何通过Android应用程序保持与GCM的连接?代码示例(以及在何处以及如何使用它)将非常有用.

这篇文章解释了这个问题.它说"我们可以通过每两分钟从GCM服务器(这是免费的)ping一直保持连接".我们怎么做?

非常感谢


以下应用似乎可以解决问题.令人惊讶的是,第一个不需要任何许可,第二个是互联网连接,第三个仅适用于root电话:

https://play.google.com/store/apps/details?id=at.pansy.droid.gcmWifiFix

https://play.google.com/store/apps/details?id=com.elotro.pushheartbeat

https://play.google.com/store/apps/details?id=com.andqlimax.pushfixer

android push-notification wifi android-wifi google-cloud-messaging

33
推荐指数
3
解决办法
3万
查看次数

GCM错误= MissingRegistration通过JSON发送消息

我正在通过Fiddler测试推送GCM

头:

User-Agent: Fiddler
Authorization: key=AIzaSyAkXfcuLLCZ-5n18wwO6XeJ13g-z9ja
Host: android.googleapis.com
Content-Length: 286
Run Code Online (Sandbox Code Playgroud)

身体:

{"registration_ids":["APA91bHyn8YHcH_vSuOo7_A0PMgF5SU1K0FebOFGKXYTqpN5x4eD0tVBvzQLn749TVcczN5gSjB1wqf5AzYfxFI_qskA1Nzipf-9MfdEom1PI1vkFqKIg9B8vZvPLOLozE7jaRzELuyDzpFRbO3Xh5lT-KDA"],"collapse_key":"8b990f5a-78fc-4bad-b242-ffc740a750fb","data":{"message":"message to device"}}
Run Code Online (Sandbox Code Playgroud)

我有一个错误

Error=MissingRegistration
Run Code Online (Sandbox Code Playgroud)

我的问题在哪里?所有ID都是正确的.

android json push-notification google-cloud-messaging

33
推荐指数
2
解决办法
2万
查看次数

无法解析符号'GoogleCloudMessaging'GCM

我正在尝试GCM在我的应用程序中工作(在我们的工作时间更改时或在我们有任何促销活动时通知用户),但Cannot resolve symbol 'GoogleCloudMessaging'在尝试使用Google Cloud Messaging API时我一直收到错误消息.

我正在使用新发布的Android工作室IDE来编写代码.

这是我的GcmBroadcastReciever.java代码:

import android.R;
import android.app.Activity;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class GcmBroadcastReceiver extends BroadcastReceiver 
{
    static final String TAG = "GCMDemo";
    public static final int NOTIFICATION_ID = 1;
    private NotificationManager mNotificationManager;
    Context ctx;
    GoogleCloudMessaging gcm; // I get the error here

    @Override
    public void onReceive(Context context, Intent intent) {
        GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(context); //error
        ctx = context;
        String messageType = …
Run Code Online (Sandbox Code Playgroud)

java android push-notification google-cloud-messaging android-studio

30
推荐指数
3
解决办法
4万
查看次数

如何在通过lambda表达式应用过滤器后获取Stream的大小?

请考虑以下代码:

List<Locale> locales = Arrays.asList(
    new Locale("en", "US"),
    new Locale("ar"),
    new Locale("en", "GB")
); 

locales.stream().filter(l -> l.getLanguage() == "en");
Run Code Online (Sandbox Code Playgroud)

我如何获得的大小locales ArrayList 申请filter的,因为locales.size()给我的尺寸申请filter

java arrays lambda java-8

30
推荐指数
2
解决办法
4万
查看次数

Java 8将函数应用于Stream的所有元素,而不会破坏流链

在Java中是否有办法将函数应用于a的所有元素Stream而不破坏Stream链?我知道我可以打电话forEach,但那个方法会返回一个void,而不是一个Stream.

java chaining java-8 java-stream

30
推荐指数
2
解决办法
3万
查看次数

是否可以为将APN发送到同一个应用程序的提供程序创建多个SSL证书?

我意识到有一个问题是允许多个服务器使用相同的SSL证书将推送通知发送到同一个应用程序,但我的问题是不同的.

假设单个iOS应用程序的开发人员希望允许多个提供程序向其应用程序发送推送通知,但希望控制哪些提供程序有权将APN发送到他的应用程序(并且能够从任何一个提取者撤消该权限)他们).

如果所有提供商都拥有相同的证书,为了阻止其中一个提供者发送APN,他必须全部阻止它们(通过撤销推送SSL证书,并获得一个新证书).是否有可能从同一个应用程序的Apple多个推送SSL证书?

这样就可以为每个提供商分配一个唯一的证书,这将允许阻止单个提供商而不会阻止其他提供商.

在Apple Provisioning Portal上,似乎没有可能为同一个应用程序和相同的环境(开发/生产)创建多个Push SSL证书,但我想确定是否无法完成.

ssl-certificate push-notification apple-push-notifications ios

26
推荐指数
2
解决办法
8368
查看次数

苹果推送通知限制

我想知道我们一次可以发送给用户的苹果推送通知数量是否有限制?换句话说,我可以使用APNS服务一次发送100,000个推送通知吗?

push-notification apple-push-notifications ios

25
推荐指数
4
解决办法
4万
查看次数

如何修复Google Cloud Messaging注册错误:SERVICE_NOT_AVAILABLE?

我遇到了一个奇怪的问题 - 我在我的应用程序中使用GCM已经有很长一段时间了,一切都运行得很好.然而,发布谷歌Play前,我从改变了我的应用程序包的名字com.android.testappcom.android.recognition并在此之后GCM停止工作.起初我得到错误GCM sender id not set on constructor并通过覆盖修复它getSenderIds(Context context),但现在我无法获得注册ID.以下是来自logcat的消息: 在此输入图像描述

我怎样才能解决这个问题?当我切换到新包时,我将清单文件中的所有内容更改为新包:

<receiver
        android:name="com.google.android.gcm.GCMBroadcastReceiver"
        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" />
            <category android:name="com.android.recognition" />
        </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)

那背后的问题是什么?可以重命名应用程序包导致这个还是有另一个原因?

java android push-notification google-cloud-messaging

25
推荐指数
5
解决办法
7万
查看次数