本文整理汇总了Scala中android.app.PendingIntent类的典型用法代码示例。如果您正苦于以下问题:Scala PendingIntent类的具体用法?Scala PendingIntent怎么用?Scala PendingIntent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了PendingIntent类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。
示例1: AlarmBroadcastReceiver
//设置package包名称以及导入依赖的类
package com.android.perrier1034.post_it_note.receiver
import android.app.{Notification, NotificationManager, PendingIntent}
import android.content.{BroadcastReceiver, Context, Intent}
import android.support.v4.app.NotificationCompat
import android.text.TextUtils
import com.android.perrier1034.post_it_note.db.dao.{PageStore, NoteStore}
import com.android.perrier1034.post_it_note.model.NoteRealm
import com.android.perrier1034.post_it_note.ui.PageManager
import com.android.perrier1034.post_it_note.util.AlarmUtil
import com.android.perrier1034.post_it_note.{App, R}
object AlarmBroadcastReceiver {
val KEY_INTENT_ALARM_USUAL = "KEY_INTENT_USUAL"
val KEY_INTENT_PAGE_ORDER = "KEY_INTENT_PAGE_ORDER"
}
class AlarmBroadcastReceiver extends BroadcastReceiver {
override def onReceive(context: Context, receivedIntent: Intent) {
receivedIntent.getAction match {
case Intent.ACTION_PACKAGE_REPLACED | Intent.ACTION_BOOT_COMPLETED =>
NoteStore.rebootAlarmsRealm()
case AlarmBroadcastReceiver.KEY_INTENT_ALARM_USUAL =>
val id = receivedIntent.getLongExtra(AlarmUtil.alarmIntentDataKey, -1)
val note = NoteStore.findByIdRealm(id)
val pageOrder = PageStore .getPageOrderById(note.parentId)
if (note.inRubbish != 1) {
val nm = App.getInstance.getSystemService(Context.NOTIFICATION_SERVICE).asInstanceOf[NotificationManager]
val notif = makeNotification(note, pageOrder)
nm.notify(id.asInstanceOf[Int], notif)
}
NoteStore.clearAlarmRealm(id)
case _ =>
}
}
private def makeNotification(note: NoteRealm, pageOrder: Int): Notification = {
val in = new Intent(App.getInstance, classOf[PageManager])
in.putExtra(AlarmBroadcastReceiver.KEY_INTENT_PAGE_ORDER, pageOrder)
val pi = PendingIntent.getActivity(App.getInstance, 0, in, PendingIntent.FLAG_UPDATE_CURRENT)
val builder = new NotificationCompat.Builder(App.getInstance)
val content = if (TextUtils.isEmpty(note.checkItems)) "(check list)" else note.content
builder
.setSmallIcon(R.drawable.ic_launcher)
.setTicker(content)
.setContentText(content)
.setWhen(System.currentTimeMillis).setAutoCancel(true)
.setContentIntent(pi)
.setContentTitle(if (TextUtils.isEmpty(note.title)) "No title" else note.title)
.build()
}
}
示例2: AlarmUtil
//设置package包名称以及导入依赖的类
package com.android.perrier1034.post_it_note.util
import java.util.{Calendar, TimeZone}
import android.app.{AlarmManager, PendingIntent}
import android.content.{Context, Intent}
import com.android.perrier1034.post_it_note.App
import com.android.perrier1034.post_it_note.receiver.AlarmBroadcastReceiver
object AlarmUtil {
val alarmIntentDataKey = "alarmIntentDataKey "
def set(id: Long, year: Int, month: Int, date: Int) = {
val cal = Calendar.getInstance
cal.setTimeInMillis(System.currentTimeMillis)
cal.setTimeZone(TimeZone.getDefault)
cal.set(Calendar.YEAR, year)
cal.set(Calendar.MONTH, month)
cal.set(Calendar.DAY_OF_MONTH, date)
cal.set(Calendar.HOUR_OF_DAY, 0)
cal.set(Calendar.MINUTE, 0)
val intent = new Intent(App.getInstance, classOf[AlarmBroadcastReceiver])
intent.putExtra(alarmIntentDataKey, id)
intent.setAction(AlarmBroadcastReceiver.KEY_INTENT_ALARM_USUAL)
val pendingIntent = PendingIntent.getBroadcast(App.getInstance, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT)
val alarmManager = App.getInstance.getSystemService(Context.ALARM_SERVICE).asInstanceOf[AlarmManager]
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis, pendingIntent)
}
def clear(noteId: Long) = {
val intent = new Intent(App.getInstance, classOf[AlarmBroadcastReceiver])
intent.putExtra(alarmIntentDataKey, noteId)
val pendingIntent = PendingIntent.getBroadcast(App.getInstance, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT)
val alarmManager = App.getInstance.getSystemService(Context.ALARM_SERVICE).asInstanceOf[AlarmManager]
alarmManager.cancel(pendingIntent)
}
}
示例3: Notification
//设置package包名称以及导入依赖的类
package tryp
package droid
package view
import android.support.v4.app.NotificationCompat
import android.support.v4.app.NotificationManagerCompat
import android.support.v4.app.TaskStackBuilder
import android.app.PendingIntent
class Notification(context: Context, target: Class[_], icon: Int, title: String, id: Int)
{
var text = ""
lazy val builder = {
val bldr = new NotificationCompat.Builder(context)
val sb = TaskStackBuilder.create(context)
sb.addParentStack(target)
sb.addNextIntent(intent)
val pIntent = sb.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT)
bldr.setContentIntent(pIntent)
bldr.setContentTitle(title)
bldr.setSmallIcon(icon)
bldr
}
lazy val intent = new Intent(context, target)
def setTitle(newTitle: String) = builder.setContentTitle(newTitle)
def setText(newText: String) = {
text = newText
builder.setContentText(newText)
}
def setIcon(newIcon: Int) = builder.setSmallIcon(newIcon)
def setProgress(values: (Int, Int)) {
builder.setProgress(values._2, values._1, false)
}
def update() = manager.notify(id, builder.build)
def cancel() = manager.cancel(id)
def resetTime() {
builder.setWhen(System.currentTimeMillis)
}
private def manager: NotificationManagerCompat = {
NotificationManagerCompat.from(context)
}
}
trait Notifications
{
def createNotification(
target: Class[_], icon: Int, title: String, id: Int = 1
)(implicit context: Context) = {
new Notification(context, target, icon, title, id)
}
}
示例4: NotificationServicesImpl
//设置package包名称以及导入依赖的类
package com.happyheal.happyhealapp.modules.notifications.impl
import android.app.{PendingIntent, NotificationManager}
import android.content.{Intent, Context}
import android.support.v4.app.NotificationCompat
import com.happyheal.happyhealapp.R
import com.happyheal.happyhealapp.commons.ContextWrapperProvider
import com.happyheal.happyhealapp.modules.notifications.{NotificationServices, NotificationServicesComponent}
import com.happyheal.happyhealapp.ui.main.MainActivity
import scala.util.Random
trait NotificationServicesComponentImpl
extends NotificationServicesComponent {
self: ContextWrapperProvider =>
override lazy val notificationServices = new NotificationServicesImpl
class NotificationServicesImpl extends NotificationServices {
override def showDemoNotification: Unit = {
val requestCode = 112233
val notificationId = Random.nextInt()
val intent = new Intent(contextProvider.application, classOf[MainActivity])
val pendingIntent = PendingIntent.getActivity(contextProvider.application, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
val notification = new NotificationCompat.Builder(contextProvider.application)
.setContentTitle("Demo Notification")
.setContentText("Demo Content")
.setContentInfo("Demo info")
.setContentIntent(pendingIntent)
.setSmallIcon(R.drawable.ic_launcher)
.setAutoCancel(true)
.build()
val notifyManager = contextProvider.application.getSystemService(Context.NOTIFICATION_SERVICE).asInstanceOf[NotificationManager]
notifyManager.notify(notificationId, notification)
}
}
}