Java 设置最新事件信息
我正在使用android studio,我正在编写一部分代码,这部分代码来自一个eclipse项目,我将其转换到android studio。 问题在于:Java 设置最新事件信息,java,android,eclipse,android-studio,Java,Android,Eclipse,Android Studio,我正在使用android studio,我正在编写一部分代码,这部分代码来自一个eclipse项目,我将其转换到android studio。 问题在于: notification.setLatestEventInfo(this, text, getText(R.string.notification_subtitle), contentIntent); setLatestEventInfo为红色,无法启动应用程序,如何解决此问题 /** * Show a notificat
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.
原因是谷歌从API 23开始就删除了这种方法。有关更多信息,请阅读此处: 将您的项目从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);
谢谢你的回答,我不知道为什么,但我得到了一个新错误。setTicker(System.currentTimeMillis())错误:(375,52)错误:不兼容类型:long无法转换为CharSequence,并且在ticker上错误在builder中不能应用新错误是
。setTicker(System.currentTimeMillis())
错误:(375,52)错误:不兼容的类型:long无法转换为CharSequence,并且在ticker上出现错误,无法应用生成器