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开启时出现任何错误......
答案 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();
}
}