2014-05-13 106 views
0

我的应用程序需要发送数据到另一个Android设备到目前为止它通过短信发送它在另一个Android设备被阻止......但由于kitkat版本我不能阻止它们了......是否有发送推送消息在后台给另一个用户并且收到他们回来?如果是的话......我很想看到任何示例(我不喜欢GCM,我认为它太复杂了..)。推送消息发送数据?

这是我用来发送短信代码:

SmsManager sm = SmsManager.getDefault(); 
ArrayList<String> parts =sm.divideMessage(String.valueOf(points)); 
int numParts = parts.size(); 
ArrayList<PendingIntent> sentIntents = new ArrayList<PendingIntent>(); 
ArrayList<PendingIntent> deliveryIntents = new ArrayList<PendingIntent>(); 
for (int i = 0; i < numParts; i++) { 
    sentIntents.add(PendingIntent.getBroadcast(getBaseContext(), 0, getIntent(), 0)); 
    // deliveryIntents.add(PendingIntent.getBroadcast(getBaseContext(), 0, data, 0)); 
} 

sm.sendMultipartTextMessage(number,null, parts, sentIntents, deliveryIntents); 
SmsManager.getDefault().sendTextMessage(number, null, String.valueOf(points), null, null); 
         } 

寻找只是为了推送消息类似的东西。

+1

您需要一台服务器。顺便说一下,GCM客户端代码由20行代码组成。 – eleven

+0

除GCM网站外,我还能看到GCM客户端的任何示例吗? – mynavy

+0

当然,尝试谷歌。 – eleven

回答

1

您可以发送数据短信。它们的操作与常规SMS不同,因为它们在发送时使用端口,因此您可以在接收器手机上指定相同的端口。这避免了SMS接收器上竞争意图过滤器优先级的问题。

这允许从一个android直接发送到另一个。

请参阅here举例

+0

从这个例子听起来很有趣,我可以看到另一个用户在接收到消息时他可以看到它实际或不是?在我的情况下,我更喜欢他不会看到这个消息... – mynavy

+0

令人惊叹的..它的工作...不需要任何中止broadcastReceiver ...短消息,但非常有用!非常感谢 – mynavy

+1

是的,用户将看不到该消息。它的优点不是这样,这也节省了我之前的工作 - 很乐意向前付款 – Shane

1

谷歌云消息是你的都是经过:

在当前的方法

http://developer.android.com/google/gcm/index.html

一个缺点是,你可能需要一台服务器充当经纪人,作为GCM消息只能有一个相对较小的有效负载

+0

那么我的消息不应该是那么大,但我没有问题来限制即时消息发送的字符串...除了GCM之外还有其他任何东西吗?我无法理解如何实现这一点。 – mynavy

+0

这很好,但如果你不去GCM通知,那么你已经离开了其他选择,为你的功能创建一个WebService并继续。 –