我有一个Android设备(手机),它在GCM服务器上注册并具有有效的推送ID,自定义应用程序可以使用它来使用GCM发送通知。
有没有办法找到这个设备的注册推送ID(仅使用此设备)?
答案 0 :(得分:0)
使用getRegistrationId
获取设备ID。
String regID = GCMRegistrar.getRegistrationId(this);
有关详细信息,请参阅Android GCM getRegistrationId
答案 1 :(得分:0)
// 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();