Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android InstanceID和Regid GCM_Android_Xmpp_Google Cloud Messaging_Instanceid - Fatal编程技术网

Android InstanceID和Regid GCM

Android InstanceID和Regid GCM,android,xmpp,google-cloud-messaging,instanceid,Android,Xmpp,Google Cloud Messaging,Instanceid,正如我所读到的,函数gcm.register()已被弃用。我可以使用InstanceID.getToken()来代替 我使用它的描述 但每次运行应用程序时,我都会得到新的RegID(实例ID) 以下是我的注册方式: @Override protected String doInBackground(Object[] voids) { String msg = ""; if (gcm == null) {

正如我所读到的,函数gcm.register()已被弃用。我可以使用InstanceID.getToken()来代替

我使用它的描述 但每次运行应用程序时,我都会得到新的RegID(实例ID)

以下是我的注册方式:

        @Override
        protected String doInBackground(Object[] voids) {
            String msg = "";

            if (gcm == null) {
                gcm = GoogleCloudMessaging.getInstance(MyApp.getContext());
            }
            InstanceID instanceID = InstanceID.getInstance(context1);
            EntryActivity. regid = null;
            try {

                EntryActivity.regid = instanceID.getToken(ConstantsGCM.senderID_ProjectID, GoogleCloudMessaging.INSTANCE_ID_SCOPE, null);
                Log.d("REG---", "========================>>>- regid= " + EntryActivity.regid);

            } catch (IOException e) {
                e.printStackTrace();
            }

            if (EntryActivity.regid != null)
                try {
                    storeRegistrationId(context1, EntryActivity.regid);
                } catch (PackageManager.NameNotFoundException e) {
                    e.printStackTrace();
                }
            Log.d("REG---", "- " + msg + "regid= " + EntryActivity.regid);
            return msg;
        }
然后我将“regid”发送到我的服务器并将其保存到数据库中,直到现在一切都正常工作,但是当我通过GCM(GCM.send(…);)向服务器发送消息时 然后调用消息的“发件人”字段(在服务器端),我会得到不同的regID,每次重新启动应用程序并发送时,我都会得到新的regID(对于每个Instance,regID都会发生更改)

如何使用实例ID作为常量RegID,我阅读了文档,但没有理解如何使用