gpt4 book ai didi

java - 添加自定义通知 LED 灯

转载 作者:行者123 更新时间:2023-11-30 00:02:12 27 4
gpt4 key购买 nike

我有一部运行 Android 8 的手机,我开始使用 Android Studio 进行 Android 编程。当收到通知时,Snapchat 或 Facebook 等一些应用程序会让我的手机点亮带有自定义颜色(黄色和蓝色)的 LED。

我想对我的应用程序做同样的事情,我搜索了很多但没有任何效果,出现了通知但不是白灯。我检查了我的手机设置,我的应用程序被允许点亮 LED。

public class Notification
{
public Notification(String channelId, String channelName, Context context, String title, String body, Intent intent)
{
NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);

int notificationId = 1;
int importance = NotificationManager.IMPORTANCE_HIGH;

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O)
{
NotificationChannel mChannel = new
NotificationChannel(channelId, channelName, importance);
notificationManager.createNotificationChannel(mChannel);
}

NotificationCompat.Builder nbuilder = new NotificationCompat.Builder(context, channelId)
.setLights(Color.WHITE, 500, 100) // doesn't work
.setVibrate(new long[] { 1000, 1000, 1000, 1000, 1000 }) // doesn't work
.setContentTitle(title)
.setContentText(body);

TaskStackBuilder stackBuilder =
TaskStackBuilder.create(context);
stackBuilder.addNextIntent(intent);
PendingIntent resultPendingIntent =
stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
nbuilder.setContentIntent(resultPendingIntent);

notificationManager.notify(notificationId, nbuilder.build());
}
}

我尝试在 setContentText() 之后调用 setLights()setVibrate() 并且我尝试在 notify( ) 但它并没有改变任何东西。

我在 onCreate() 中实例化了我的类:

new Notification("channel-01", "MathWellan Notification", this, "Twitter", "Follow me on Twitter !", new Intent(Intent.ACTION_VIEW, Uri.parse("twitter://user?screen_name=MathWellan")));

抱歉我的英语不好,我是法国人,我希望你能帮助我!提前致谢:)

最佳答案

使用这行代码更改通知 LED 颜色:your_notification.ledARGB = Color.YOUR_COLOR;

使用示例:

NotificationManager notif = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notif.cancel(1); // clear previous notification
final Notification notification = new Notification();

notification.ledARGB = Color.MAGENTA;

notification.ledOnMS = 1000;
notification.flags |= Notification.FLAG_SHOW_LIGHTS;
notif.notify(1, notification);

注意:测试时应锁定屏幕,因为通知 LED 仅在屏幕关闭时才会突出显示。 也许那是你的问题。

关于java - 添加自定义通知 LED 灯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49719689/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com