From 546320655ee107cff6279c4376c0d8b1b327cb3b Mon Sep 17 00:00:00 2001 From: susemi99 Date: Tue, 26 Jan 2016 13:46:31 +0900 Subject: [PATCH] add registration and receive token --- app/src/main/AndroidManifest.xml | 3 ++ .../java/kr/susemi99/gcm/MainActivity.java | 4 ++ .../services/RegistrationIntentService.java | 43 +++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100644 app/src/main/java/kr/susemi99/gcm/services/RegistrationIntentService.java diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a56d47d..8fd81a3 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -19,6 +19,9 @@ + diff --git a/app/src/main/java/kr/susemi99/gcm/MainActivity.java b/app/src/main/java/kr/susemi99/gcm/MainActivity.java index 57a36c8..68fc3d6 100644 --- a/app/src/main/java/kr/susemi99/gcm/MainActivity.java +++ b/app/src/main/java/kr/susemi99/gcm/MainActivity.java @@ -15,6 +15,7 @@ import com.google.android.gms.common.GoogleApiAvailability; import kr.susemi99.gcm.managers.PreferenceManager; +import kr.susemi99.gcm.services.RegistrationIntentService; public class MainActivity extends AppCompatActivity { @@ -31,6 +32,9 @@ protected void onCreate(Bundle savedInstanceState) setSupportActionBar(toolbar); textHello = (TextView) findViewById(R.id.text_hello); + + if (checkPlayServices()) + startService(new Intent(this, RegistrationIntentService.class)); } @Override diff --git a/app/src/main/java/kr/susemi99/gcm/services/RegistrationIntentService.java b/app/src/main/java/kr/susemi99/gcm/services/RegistrationIntentService.java new file mode 100644 index 0000000..68c20fe --- /dev/null +++ b/app/src/main/java/kr/susemi99/gcm/services/RegistrationIntentService.java @@ -0,0 +1,43 @@ +package kr.susemi99.gcm.services; + +import android.app.IntentService; +import android.content.Intent; +import android.support.v4.content.LocalBroadcastManager; +import android.util.Log; + +import com.google.android.gms.gcm.GoogleCloudMessaging; +import com.google.android.gms.iid.InstanceID; + +import java.io.IOException; + +import kr.susemi99.gcm.R; +import kr.susemi99.gcm.managers.PreferenceManager; + +/** + * Created by susemi99 on 2016. 1. 26.. + */ +public class RegistrationIntentService extends IntentService +{ + public RegistrationIntentService() + { + super(""); + } + + @Override + protected void onHandleIntent(Intent intent) + { + InstanceID instanceID = InstanceID.getInstance(this); + try + { + String token = instanceID.getToken(getString(R.string.gcm_defaultSenderId), GoogleCloudMessaging.INSTANCE_ID_SCOPE, null); + Log.i("RegistrationIntentService | onHandleIntent", "|" + token + "|"); + PreferenceManager.instance(this).sentToken(true); + + Intent registrationCompleteIntent = new Intent(getString(R.string.action_registration_complete)); + LocalBroadcastManager.getInstance(this).sendBroadcast(registrationCompleteIntent); + } catch (IOException e) + { + e.printStackTrace(); + } + } +}