doInBackground方法不起作用

时间:2013-09-05 11:18:42

标签: android

private void registerBackground(){

           Log.v(TAG,"-----regbackgroud method call---");

     new AsyncTask<Void, Void, String>() {


          @Override
          protected String doInBackground(Void... params) {

              String msg = "";

                try {
                    if (gcm == null) {
                        gcm = GoogleCloudMessaging.getInstance(context);
                  }
                    regid = gcm.register(SENDER_ID);

                    msg = "Device registered, registration id=" + regid;


                    setRegistrationId(context, regid);


                } catch (IOException ex) {
                    msg = "Error ::" + ex.getMessage();

                }
                return msg;

            }


          @Override
          protected void onPostExecute(String msg) {
              super.onPostExecute(msg);

          }

          @Override
          protected void onPreExecute() {
              super.onPreExecute();

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

}

这里我的代码在这里 1)执行的先行方法和
2)doInbackground()方法不执行 请建议我应该怎么做 JNI开启时出现任何错误......

1 个答案:

答案 0 :(得分:2)

无需在后台调用

尝试调用此方法

public void enableGCM() {

        try {
            GCMRegistrar.checkDevice(this);
            GCMRegistrar.checkManifest(this);
            final String regId = GCMRegistrar.getRegistrationId(this);
            if (regId.equals("")) {
                GCMRegistrar.register(this, SENDER_ID);
            } else {
                Log.v("GCM", "Already registered");
            }
        } catch (Throwable e) {
            e.printStackTrace();
        }
    }