知道android设备的推送ID

时间:2014-08-13 10:44:12

标签: android google-cloud-messaging

我有一个Android设备(手机),它在GCM服务器上注册并具有有效的推送ID,自定义应用程序可以使用它来使用GCM发送通知。

有没有办法找到这个设备的注册推送ID(仅使用此设备)?

3 个答案:

答案 0 :(得分:0)

使用getRegistrationId获取设备ID。

   String regID = GCMRegistrar.getRegistrationId(this);

有关详细信息,请参阅Android GCM getRegistrationId

答案 1 :(得分:0)

使用getRegistrationId()

// Get GCM registration id
final String regId = GCMRegistrar.getRegistrationId(this);
  

获取GCM服务上应用程序的当前注册ID。

     

如果结果为空,则注册失败。

答案 2 :(得分:0)

<强> GetGCMdeviceId.java

import android.content.Context;
import android.util.Log;

import com.google.android.gcm.GCMRegistrar;

public class GetGCMdeviceId {

    String GcmProjectID = "YOUR_GCM_PROJCTID";
    Context _con;

    public GetGCMdeviceId(Context c) {
        _con = c;
    }

    public String deviceid() {

        checkNotNull(GcmProjectID, "SENDER_ID");
        GCMRegistrar.checkDevice(_con);
        GCMRegistrar.checkManifest(_con);
        String regId = GCMRegistrar.getRegistrationId(_con);

        Log.d("Registration Info", "registration id: " + regId);
        System.out.println("Registration Id 1--->:" + regId);

        if (regId.equals("")) {
            GCMRegistrar.register(_con, GcmProjectID);
            System.out.println("Registration Id 2--->:" + regId);

        } else {
            Log.v("Registration Info", "Already registered");
        }
        return regId;

    }

    private void checkNotNull(Object reference, String name) {
        if (reference == null) {
            throw new NullPointerException();
        }
    }
}

使用上面的代码来获取您的设备GCMID 只需在包中创建上面的类

然后创建上面的类的对象,并从调用它的类

将上下文传递给它
GetGCMdeviceId gcm=new GetGCMdeviceId (this);
String gcmId=gcm.deviceid();