Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class GcmMessageHandler : IntentService("GcmMessageHandler") {
- var mes: String? = null
- private var handler: Handler? = null
- override fun onCreate() {
- super.onCreate()
- handler = Handler()
- }
- override fun onHandleIntent(intent: Intent) {
- val extras = intent.extras
- val gcm = GoogleCloudMessaging.getInstance(this)
- // The getMessageType() intent parameter must be the intent you received
- // in your BroadcastReceiver.
- val messageType = gcm.getMessageType(intent)
- mes = extras.getString("title")
- // showToast();
- if (mes != null) {
- if(extras.getString("category")!=null && extras.getString("category").equals("work",true)) {
- if(!extras.getBoolean("urgently"))
- mes = "Работа: ${extras.getString("title")}"
- else mes = "Работа (срочно): ${extras.getString("title")}"
- } else if (extras.getString("category")!=null && extras.getString("category").equals("ads",true)){
- if(extras.getString("subcategory")!=null && extras.getString("subcategory").equals("svady",true)){
- // some handler here
- }
- }
- showNotification(mes!!, extras.getString("message"),extras.getString("category") ?: "",extras.getString("link") ?: "")
- Log.i("GCM", "Received : ($messageType) ${extras.getString("title")} ${extras.getString("message")} category:${extras.getString("category")}")
- }
- GcmBroadcastReceiver.completeWakefulIntent(intent)
- }
- fun showNotification(title: String, message: String,category: String?, link: String?) {
- val mBuilder = NotificationCompat.Builder(this).setSmallIcon(R.mipmap.ic_launcher).setContentTitle(title).setContentText(message)
- val resultIntent = intentFor<MainActivity>()
- resultIntent.putExtra("openNotifications", true)
- resultIntent.putExtra("category",category)
- resultIntent.putExtra("link",link)
- val resultPendingIntent = PendingIntent.getActivity(this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT)
- mBuilder.setContentIntent(resultPendingIntent)
- mBuilder.setAutoCancel(true)
- val random = Random()
- val mNotificationId = random.nextInt(9999-1000)+1000
- notificationManager.notify(mNotificationId, mBuilder.build())
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement