gpt4 book ai didi

android - Cordova - 通知后台运行服务

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:53:23 25 4
gpt4 key购买 nike

我正在使用 cordova 构建我的 android 应用程序。由于 android 终止服务,我将服务与通知绑定(bind)以避免服务终止。

这是我如何将服务与通知绑定(bind)的方法

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
context = this.getApplicationContext();
notifyService();

return START_NOT_STICKY;
}

private void notifyService() {
String package_name = this.getApplication().getPackageName();

Intent notificationIntent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

Bitmap icon = BitmapFactory.decodeResource(getResources(),
this.getApplication().getResources().getIdentifier("icon", "drawable-hdpi", package_name));

Notification notification = new NotificationCompat.Builder(this)
.setContentTitle("Smart Home")
.setContentText("Smart Home running in background")
.setSmallIcon(this.getApplication().getResources().getIdentifier("icon", "drawable-hdpi", package_name))
.setContentIntent(pendingIntent)
.setOngoing(true)
.build();

startForeground(notificationId, notification);
}

这是输出

enter image description here

通知已生成,但通知标题与我设置的不同。此外,当我单击此通知时,它会转到应用信息 Activity 。但我想转到我的主要 Activity 。

有人遇到过同样的问题吗?或者我的代码需要针对 cordova 进行任何更改?

最佳答案

当我点击此通知时,它会转到应用信息 Activity 。但我想转到我的主要 Activity 来实现这一目标改变这一行

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);

到这一行

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);

希望对你有帮助

关于android - Cordova - 通知后台运行服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42618202/

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