Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 设置最新事件信息_Java_Android_Eclipse_Android Studio - Fatal编程技术网

Java 设置最新事件信息

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

我正在使用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.

原因是谷歌从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上出现错误,无法应用生成器