我正在根据示例here设置通知。我的应用程序与API 15和其他版本兼容。这是我的代码:
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
// send notification
// API < 16 so have to use compat
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(context)
//.setSmallIcon(context.getResources().getDrawable(icon_id_here))
.setContentTitle("My notification")
.setContentText("Hello World!");
// Creates an explicit intent for an Activity in your app
Intent resultIntent = new Intent(context, UpcomingTest.class);
// The stack builder object will contain an artificial back stack for the
// started Activity.
// This ensures that navigating backward from the Activity leads out of
// your application to the Home screen.
TaskStackBuilder stackBuilder = TaskStackBuilder.create(context);
// Adds the back stack for the Intent (but not the Intent itself)
stackBuilder.addParentStack(UpcomingTest.class);
// Adds the Intent that starts the Activity to the top of the stack
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(
0,
PendingIntent.FLAG_UPDATE_CURRENT
);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
// mId allows you to update the notification later on.
mNotificationManager.notify(123, mBuilder.build());
}
阅读有关TaskStackBuilder的信息here时,它说:“ TaskStackBuilder提供了一种向后兼容的方法,可以在设备版本的平台上遵循跨任务导航的正确约定。”但是,我收到一条错误消息,提示我必须定位最低API 16才能使用TaskStackBuilder。要使它向后兼容,我还需要做其他事情吗?
最佳答案
您可能正在导入android.app.TaskStackBuilder而不是android.support.v4.app.TaskStackBuilder-检查您的导入。