在真实设备中显示通知的问题

大家好,我为 android 应用程序创建了一个通知,我的代码在虚拟设备中工作,但在真实设备中不工作,请帮助我。


public void onClick(View v){

        try {

            NotificationCompat.Builder builder = new NotificationCompat.Builder(MainActivity.this);

            builder.setSmallIcon(R.mipmap.smile);

            builder.setShowWhen(true);

            builder.setContentText("This is my first notification");

            builder.setContentTitle("My Notification");

            builder.setAutoCancel(true);

            Intent i = new Intent(MainActivity.this, SecondClass.class);

            TaskStackBuilder stackBuilder = TaskStackBuilder.create(MainActivity.this);

            stackBuilder.addParentStack(SecondClass.class);

            stackBuilder.addNextIntent(i);

            PendingIntent pi = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);

            builder.setContentIntent(pi);

            NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

            nm.notify(0, builder.build());

            Toast.makeText(getApplicationContext(),"Notification showed!",Toast.LENGTH_LONG).show();

        }

        catch (Exception e){

            Toast.makeText(getApplicationContext(),e.toString(),Toast.LENGTH_LONG).show();

        }

}


回首忆惘然
浏览 55回答 1
1回答

呼唤远方

原因可能是您的模拟器低于 api 级别 26(oreo)而您的手机,您所说的真实设备大于或等于 api 级别 26,从 oreo 开始,您需要创建通知通道才能显示通知。欲了解更多信息,请阅读此处。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java