【发布时间】:2015-12-02 05:18:25
【问题描述】:
我正在尝试为我的应用创建通知,该通知在某个任务到期时发送通知。每个任务都有截止时间,所以我想在每个任务的截止日期过去后发送通知。
我的主类叫做RecyclerViewDemoActivity,在onCreate()里面我有这个:
public void setNotification()
{
Intent intent=new Intent(this,NotificationClass.class);
AlarmManager manager=(AlarmManager)getSystemService(Activity.ALARM_SERVICE);
PendingIntent pendingIntent= PendingIntent.getService(this, 0, intent, 0);
// hardcoding the time just for this example
manager.set(AlarmManager.RTC_WAKEUP,1449208683000,pendingIntent);
}
我有一个NotificationClass,看起来像这样:
public class NotificationClass extends Service {
@Override
public void onCreate()
{
Intent resultIntent=new Intent(this, RecyclerViewDemoActivity.class);
PendingIntent pIntent=PendingIntent.getActivity(this,0,resultIntent,0);
Notification nBuilder= new Notification.Builder(this)
.setContentTitle("This task is due!")
.setContentIntent(pIntent)
.setSmallIcon(R.mipmap.ic_launcher)
.build();
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
nBuilder.flags |=Notification.FLAG_AUTO_CANCEL;
notificationManager.notify(1,nBuilder);
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.grokkingandroid.samplesapp.samples.recyclerviewdemo" >
<uses-permission android:name="android.permission.READ_CALENDAR"></uses-permission>
<uses-permission android:name="android.permission.WRITE_CALENDAR"></uses-permission>
<application
android:name="com.teamvallartas.autodue.RecyclerViewDemoApp"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.teamv.RecyclerViewDemoActivity"
android:label="@string/app_name"
android:configChanges="orientation"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
我查看了上面代码的 this 资源以及通知上的 Vogella's resource,但我不知道为什么这不起作用。
【问题讨论】:
-
您是否分析了日志...是否调用了 onCreate of Service?如果没有,请检查您的服务是否已添加到清单中。
-
@PankajKumar 你是对的......它似乎没有调用它。
-
然后检查清单。您需要在那里添加服务。
-
@PankajKumar 我猜想添加一个活动?但这不需要一个 XML 文件吗?
标签: android android-intent android-activity notifications