[问题] 请问传送通知类别?

楼主: yaling1219 (懒懒熊)   2015-11-15 22:17:26
package com.myandroid.main;
/* import相关class */
import java.util.Calendar;
import java.util.StringTokenizer;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.content.BroadcastReceiver;
import android.os.Bundle;
import android.util.Log;
/* 呼叫闹钟Alert的Receiver */
public class CallAlarm extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
/* create Intent,呼叫AlarmAlert.class */
String tepName = intent.getStringExtra("name");
String date = intent.getStringExtra("date");
String place = intent.getStringExtra("place");
String time = intent.getStringExtra("time");
String sclass = intent.getStringExtra("class");
final int notifyID = 1; // 通知的识别号码
final int requestCode = notifyID; // PendingIntent的Request Code
final Intent intent = getIntent(); // 目前Activity的Intent
final int flags = PendingIntent.FLAG_CANCEL_CURRENT; // ONE_SHOT:
PendingIntent只使用一次;CANCEL_CURRENT:PendingIntent执行前会先结束掉之前的;
NO_CREATE:沿用先前的PendingIntent,不建立新的PendingIntent;UPDATE_CURRENT:
更新先前PendingIntent所带的额外资料,并继续沿用
final PendingIntent pendingIntent =
PendingIntent.getActivity(context.getApplicationContext(), requestCode,
intent, flags); // 取得PendingIntent
final NotificationManager notificationManager = (NotificationManager)
context.getSystemService(Context.NOTIFICATION_SERVICE); // 取得系统的通知服务
final Notification notification = new
Notification.Builder(context.getApplicationContext()).setSmallIcon(R.drawable.keepcon).setContentTitle("
内容标题").setContentText(tepName + ", Time: " + date + " " + time + ",
class:" + sclass + ", in place: " +
place).setContentIntent(pendingIntent).build(); // 建立通知
notificationManager.notify(notifyID, notification); // 发送通知
}
}
想要请问一下,这个callalarm.class类别他是要传送通知的类别,是根据使用者设定的提
醒时间而传送通知回去的,但是在callalarm.class的类别中
final Intent intent = getIntent(); // 目前Activity的Intent 这段程式码写是错误
是因为什么原因呢?还是不能这么用??
作者: ssccg (23)   2015-11-16 14:18:00
这是BroadcastReceiver,不是Activity,没有getIntent另外onReceive的参数也有一个叫intent,变量名字重复了
楼主: yaling1219 (懒懒熊)   2015-11-16 19:57:00
意思是不是没有intent intent=getintent();这段程式码的意思? 但是有试着把它隐藏起来 并没有跑出通知
作者: ssccg (23)   2015-11-18 14:52:00
这是个Receiver,所以你有发Broadcast给它吗?另外onReceive参数的intent是Receiver收到的intentfinal Intent intent = getIntent(); 这行的intent是要带进PendingIntent,也就是点通知后要执行的intent是不一样的用途,你先看懂程式码哪行是在做什么吧...
楼主: yaling1219 (懒懒熊)   2015-11-18 22:19:00
好的 感谢你的建议

Links booklink

Contact Us: admin [ a t ] ucptt.com