我正在处理通知,我必须使用setLatestEventInfo.但是,Android Studio显示以下错误消息:
无法解析方法setLatestEventinfo
这是我的代码片段:
private void createNotification(Context context, String registrationID) {
NotificationManager notificationManager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.icon,"Registration Successfull",System.currentTimeMillis());
notification.flags |= Notification.FLAG_AUTO_CANCEL;
Intent intent = new Intent(context,RegistrationResultActivity.class);
intent.putExtra("registration_ID",registrationID);
PendingIntent pendingIntent = PendingIntent.getActivity(context,0,intent,0);
notification.setLatestEventInfo(context,"Registration","Successfully Registered",pendingIntent);
}
Run Code Online (Sandbox Code Playgroud)
或者,如果他们是另一种方式,请善意地告诉我.
我有一个小问题,但不明白如何摆脱这个.
我创建了一个用于提供通知的类,但这些行被标记为已弃用:
...
Notification notification = new Notification(icon, text, time); // deprecated in API level 11
...
notification.setLatestEventInfo(this, title, text, contentIntent); // deprecated in API level 11
...
Run Code Online (Sandbox Code Playgroud)
替代方法是:
...
Notification noti = new Notification.Builder(mContext)
.setContentTitle("New mail from " + sender.toString())
.setContentText(subject)
.setSmallIcon(R.drawable.new_mail)
.setLargeIcon(aBitmap)
.build(); // available from API level 11 and onwards
...
Run Code Online (Sandbox Code Playgroud)
我可以编写类似的代码:
if(API_level < 11)
{
...
Notification notification = new Notification(icon, text, time); // deprecated in API level 11
...
notification.setLatestEventInfo(this, title, text, contentIntent); // deprecated …Run Code Online (Sandbox Code Playgroud) 您好,我在这一点上有库存,其中“setLatesEventInfo”有错误。我知道 setLatestEventInfo 不能在 API 23 及更高版本上运行。有人可以帮助我如何让这段代码运行吗?我的意思是替代方法,功能相同但编码不同。这是一个接收器函数。我正在对我的主要活动进行通知。这里唯一的错误是接收器,我尝试了构建器通知,但由于这是接收器,构建器无法申请
接收器.java
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
/**
* Created by my pc on 12/1/2015.
*/
public class Receiver extends BroadcastReceiver {
private static final Object ACTION = "MyNotification";
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (ACTION.equals(action)) {
//do what you want here
Variables.numMessages++;
generateNotification(context,"MyNotification");
}
}
private void generateNotification(Context context, String message) {
long when = System.currentTimeMillis();
int icon = R.drawable.ic_od_icon_24dp; …Run Code Online (Sandbox Code Playgroud)