Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import android.app.NotificationManager
- import android.app.PendingIntent
- import android.content.Context
- import android.content.Intent
- import android.support.v4.app.NotificationCompat
- import android.support.v4.app.TaskStackBuilder
- import com.geekmonk.planetmentor.Const
- import com.geekmonk.planetmentor.R
- import com.geekmonk.planetmentor.classroom.ClassRoomActivity
- import com.geekmonk.planetmentor.main.MainActivity
- import java.io.File
- import android.media.RingtoneManager
- import android.net.Uri
- /**
- *
- * Created by mayo on 2/1/18.
- */
- object NotificationUtil {
- private var contentType: String? = null
- fun createNotification(context: Context, notificationId: Int) {
- //val uri = Uri.fromFile(File("file:///android_asset/quite_impressed.mp3"))
- val uri = Uri.parse("android.resource://com.geekmonk.planetmentor/"+R.raw.quite_impressed)
- val channelId = "planetmentor_channel"
- val builder = NotificationCompat.Builder(context, channelId)
- .setSmallIcon(R.drawable.ic_notification)
- .setAutoCancel(true)
- .setSound(uri)
- .setVibrate(longArrayOf(500, 1000))
- .setContentTitle("Planetmentor")
- .setContentText(contentType)
- //val resultIntent = Intent(context, DashboardActivity::class.java)
- val resultIntent = Intent(context, ClassRoomActivity::class.java)
- resultIntent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP
- resultIntent.putExtra(Const.FROM_NOTIFICATION,true)
- resultIntent.putExtra(Const.CONTENT_TYPE, contentType)
- resultIntent.putExtra(Const.ACTION, contentType)
- val stackBuilder = TaskStackBuilder.create(context)
- stackBuilder.addParentStack(MainActivity::class.java)
- stackBuilder.addNextIntent(resultIntent)
- val resultPendingIntent = stackBuilder.getPendingIntent(
- 0,
- PendingIntent.FLAG_UPDATE_CURRENT
- )
- builder.setContentIntent(resultPendingIntent)
- val notificationMgr = context.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
- notificationMgr.notify(notificationId, builder.build())
- }
- fun setContentType(contentType: String) {
- this.contentType = contentType
- }
- }
Add Comment
Please, Sign In to add comment