Guest User

Untitled

a guest
Feb 20th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. import android.app.NotificationManager
  2. import android.app.PendingIntent
  3. import android.content.Context
  4. import android.content.Intent
  5. import android.support.v4.app.NotificationCompat
  6. import android.support.v4.app.TaskStackBuilder
  7. import com.geekmonk.planetmentor.Const
  8. import com.geekmonk.planetmentor.R
  9. import com.geekmonk.planetmentor.classroom.ClassRoomActivity
  10. import com.geekmonk.planetmentor.main.MainActivity
  11. import java.io.File
  12. import android.media.RingtoneManager
  13. import android.net.Uri
  14.  
  15.  
  16. /**
  17. *
  18. * Created by mayo on 2/1/18.
  19. */
  20. object NotificationUtil {
  21. private var contentType: String? = null
  22.  
  23. fun createNotification(context: Context, notificationId: Int) {
  24. //val uri = Uri.fromFile(File("file:///android_asset/quite_impressed.mp3"))
  25. val uri = Uri.parse("android.resource://com.geekmonk.planetmentor/"+R.raw.quite_impressed)
  26.  
  27. val channelId = "planetmentor_channel"
  28. val builder = NotificationCompat.Builder(context, channelId)
  29. .setSmallIcon(R.drawable.ic_notification)
  30. .setAutoCancel(true)
  31. .setSound(uri)
  32. .setVibrate(longArrayOf(500, 1000))
  33. .setContentTitle("Planetmentor")
  34. .setContentText(contentType)
  35.  
  36. //val resultIntent = Intent(context, DashboardActivity::class.java)
  37. val resultIntent = Intent(context, ClassRoomActivity::class.java)
  38. resultIntent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP
  39. resultIntent.putExtra(Const.FROM_NOTIFICATION,true)
  40. resultIntent.putExtra(Const.CONTENT_TYPE, contentType)
  41. resultIntent.putExtra(Const.ACTION, contentType)
  42.  
  43. val stackBuilder = TaskStackBuilder.create(context)
  44. stackBuilder.addParentStack(MainActivity::class.java)
  45. stackBuilder.addNextIntent(resultIntent)
  46.  
  47. val resultPendingIntent = stackBuilder.getPendingIntent(
  48. 0,
  49. PendingIntent.FLAG_UPDATE_CURRENT
  50. )
  51. builder.setContentIntent(resultPendingIntent)
  52.  
  53. val notificationMgr = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
  54. notificationMgr.notify(notificationId, builder.build())
  55.  
  56. }
  57.  
  58. fun setContentType(contentType: String) {
  59. this.contentType = contentType
  60. }
  61. }
Add Comment
Please, Sign In to add comment