Android Studio GCM 注册 ID 显示为空

Android Studio GCM Registration id shows null

创建项目并从 https://developers.google.com/cloud-messaging/android/start 获取服务器 api 密钥和发件人 ID。并使用以下代码生成注册 ID

GoogleCloudMessaging gcm;
String   SENDER_ID = "mysenderid";
String Reg_id;
Context context;
EditText firstNumber;
@Override

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Reg_id=registerGCM();
}
public String registerGCM()
{
    String regid=null;
    try {

        firstNumber = (EditText)findViewById(R.id.regisid_1);
        context = getApplicationContext();
        gcm = GoogleCloudMessaging.getInstance(context);
        regid = gcm.register(SENDER_ID);
        firstNumber.setText(regid);
    }
    catch(Exception ae)
    {

    }
    return regid;
}

但是执行代码后regid显示为null。

如果 gcm id 为 null 尝试启动后台任务并获取 id.check 下面的代码

private void registerInBackground() { 
        new AsyncTask() {
            @Override 
            protected String doInBackground(Object[] params) {
                String msg = "";
                try { 
                    if (gcm == null) { 
                        gcm = GoogleCloudMessaging.getInstance(context);
                    } 
                    regid = gcm.register(SENDER_ID); 
                    msg = "Device registered, registration ID=" + regid;


                    sendRegistrationIdToBackend(); 


                    // Persist the regID - no need to register again. 
                    storeRegistrationId(context, regid); 
                } catch (IOException ex) {
                    msg = "Error :" + ex.getMessage();


                } 
                return msg;
            } 

            @Override 
            protected void onPostExecute(Object msg) {
//                mDisplay.append(msg + "\n"); 

            } 
        }.execute(null, null, null);
    }