我正在使用android studio,我正在处理一部分代码,这部分代码来自一个eclipse项目,我将其隐藏到android studio。 问题在于:
notification.setLatestEventInfo(this, text,
getText(R.string.notification_subtitle), contentIntent);
setLatestEventInfo
为红色且无法启动应用程序,如何修复此问题?
/**
* Show a notification while this service is running.
*/
private void showNotification() {
CharSequence text = getText(R.string.app_name);
Notification notification = new Notification(R.drawable.ic_notification, null,
System.currentTimeMillis());
notification.flags = Notification.FLAG_NO_CLEAR | Notification.FLAG_ONGOING_EVENT;
Intent pedometerIntent = new Intent();
pedometerIntent.setComponent(new ComponentName(this, Pedometer.class));
pedometerIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
pedometerIntent, 0);
notification.setLatestEventInfo(this, text,
getText(R.string.notification_subtitle), contentIntent);
mNM.notify(R.string.app_name, notification);
}
这是错误:
Error:(375, 21) error: cannot find symbol method setLatestEventInfo(StepService,CharSequence,CharSequence,PendingIntent)
还有这个:
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
最佳答案
原因是 Google 自 API 23 起已删除此方法。有关详细信息,请阅读此处:Notification .
将项目从 Eclipse 导入到 Android Studio 时,目标必须已从低于 23 更改为 23 或更高。因此,此方法将不再可用。
尝试将您的通知代码更改为:
Intent pedometerIntent = new Intent();
pedometerIntent.setComponent(new ComponentName(this, Pedometer.class));
pedometerIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
pedometerIntent, 0);
CharSequence text = getText(R.string.app_name);
Notification notification = new Notification.Builder(this)
.setSmallIcon(R.drawable.ic_notification)
.setShowWhen(true)
.setContentTitle(text)
.setContentText(getText(R.string.notification_subtitle))
.setContentIntent(contentIntent)
.build();
notification.flags = Notification.FLAG_NO_CLEAR | Notification.FLAG_ONGOING_EVENT;
mNM.notify(R.string.app_name, notification);
关于java - 设置最新 Activity 信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43205061/