2012-12-11 156 views
0

一个在我的Android应用程序中,我需要使用Rhodes实现推送通知,而不使用Rhoconnect.I尝试使用谷歌云消息传递。但无法获得注册Android设备。请帮助/指导我的流程设备将获得注册发送推送消息到设备?使用Rhodes与GCM推送通知

由于提前

回答

2

来获取设备ID 使用Telephoney U可以使用它 这里是它是

public static String deviceUDID(Context ctx) { 
    final TelephonyManager tm = (TelephonyManager) ctx.getSystemService(Context.TELEPHONY_SERVICE); 

    final String tmDevice, tmSerial, androidId; 
    tmDevice = "" + tm.getDeviceId(); 
    tmSerial = "" + tm.getSimSerialNumber(); 
    androidId = "" + android.provider.Settings.Secure.getString(ctx.getContentResolver(), android.provider.Settings.Secure.ANDROID_ID); 

    UUID deviceUuid = new UUID(androidId.hashCode(), ((long)tmDevice.hashCode() << 32) | tmSerial.hashCode()); 
    String deviceId = deviceUuid.toString(); 
    Log.d("Device Id", deviceId); 
    return deviceId; 
} 
+0

嗨,乌斯曼,我会高度赞赏,如果你可以告诉我的Rhomobile帮助获取设备ID的方式? –

+0

尼斯一个...良好的工作..乌斯曼 –

+0

@Sukhitambar 我没有工作就可以了,但这里是一个链接 检查此 http://osdir.com/ml/rhomobile/2011-08/msg01112.html http://docs.rhomobi.com/rhodes/device-caps http://docs.rhomobi.com/rhodes/device-caps#push-notifications 如果它值得你 –

0

注册的设备使用C2DM请点击此处查看C2DM

+0

我试着C2DM也遵循这篇文章http://www.spritle.com/blogs/2012/01/20/push-notifications-in-rhodes-using-ruby/。但无法弄清楚我如何获得设备ID? –

+0

与C2DM的上述链接无法注册设备ID? –

+0

是需要指导我们将如何获得System.get('device_id') –

0

第一所有的,is System.get_property('device_id')而不是System.get('device_id'),这个值将是空的,直到GCM为设备提供了一个标识符。我也在为此工作。我相信,你必须遵循以下步骤:

  • 在build.yml文件中加入:

    capabilities: 
    - push 
    
  • 推回调添加到您的应用程序,以提醒用户,无论你需要做的。 根据我对使用Rhomobile的理解,您不能使用模拟器来推送消息,因此您必须将其放在设备上。该设备将联系GCM服务器,它想要从您的Android应用程序接收推送的消息。

如果设置这样做你的应用程序包,GCM服务器将提供一个ID到您的设备,而这又必须建立从您的设备发送该ID到你的服务器,才能够推动消息到你的应用程序的设备。我仍然需要弄清楚一些事情,但这是一个过程。祝你好运!