Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.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
Android 4.1以下版本不支持通知生成器。如何指定仅使用4.1及以上版本的notification builder,而忽略4.1以下版本_Android_Android Activity_Android 4.2 Jelly Bean_Android Version - Fatal编程技术网

Android 4.1以下版本不支持通知生成器。如何指定仅使用4.1及以上版本的notification builder,而忽略4.1以下版本

Android 4.1以下版本不支持通知生成器。如何指定仅使用4.1及以上版本的notification builder,而忽略4.1以下版本,android,android-activity,android-4.2-jelly-bean,android-version,Android,Android Activity,Android 4.2 Jelly Bean,Android Version,我在考虑if语句是否更高,但不知道如何实现它。任何关于如何解决我的问题的建议都会很有帮助。低于4.1则会使程序崩溃 Notification notification = new Notification.Builder(this) .setContentTitle( mContext.getString(R.string.ui_maps_display_notification_title)) .setCo

我在考虑if语句是否更高,但不知道如何实现它。任何关于如何解决我的问题的建议都会很有帮助。低于4.1则会使程序崩溃

Notification notification = new Notification.Builder(this)
            .setContentTitle(
                    mContext.getString(R.string.ui_maps_display_notification_title))
            .setContentText(
                    getResources().getString(
                            R.string.ui_maps_display_notification_content))
            .setSmallIcon(R.drawable.ic_launcher).setContentIntent(pi)
            .build();
    mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    notification.flags = notification.flags
            | Notification.FLAG_ONGOING_EVENT;

    mNotificationManager.notify(0, notification);
编辑:

对照

代码名:当前开发代码名,如果这是发布版本,则为字符串REL。 增量:底层源代码管理用于表示此生成的内部值。 RELEASE:用户可见的版本字符串。
检查应用程序运行的操作系统版本:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
    //do something
} else {
    //do something else
}
您还必须使用@TargetApi注释函数,以防止在选中块内调用方法时出现编译器警告


我也同意Guardanis的观点,您应该试用NotificationCompat.Builder

为什么不直接使用兼容性库呢?同意。NotificationCompat.Builder可以恢复到API级别4,我们强烈建议这样做。我刚刚将Notification Notification=new Notification.Builder更改为Notification Notification=new NotificationCompat.Builder。我假设这是正确的路径。今天下午我需要安装模拟器。我正在工作,偷偷地输入一些代码,现在就可以了。我的手机4.4上有它。如果我在4.0.3版本的手机上运行应用程序,将其更改为NotificationCompat.Builder将解决此问题?我非常想测试它,但目前无法测试。这些都与设备运行的API级别无关。这就是SDK_INT。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
    //do something
} else {
    //do something else
}