gpt4 book ai didi

java - Android-通知没有出现

转载 作者:行者123 更新时间:2023-11-29 10:09:32 25 4
gpt4 key购买 nike

这是一段代码,用于通过单击按钮然后转到另一个类来创建通知。第二类它完全是空的。我不知道为什么它不能转到另一个类(class)也没有出现。

我已经检查过这个文件的“sittings”,“notification”是“on”。谁能帮我查一下?

MainActivity.class

package com.example.ww.lab;

import android.app.Notification;
import android.app.PendingIntent;
import android.content.Intent;
import android.support.v4.app.NotificationManagerCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.app.NotificationManager;
import android.support.v4.app.NotificationCompat;
import android.util.Log;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
private int id = 1;
private NotificationCompat.Builder notification_builder;
private NotificationManagerCompat notification_manager;
Button button;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
notification_manager.notify(id, notification_builder.build());
}
});

Intent open_activity_intent = new Intent(this, NotificationActivity.class);
PendingIntent pending_intent = PendingIntent
.getActivity(this, 0, open_activity_intent, PendingIntent.FLAG_CANCEL_CURRENT);

notification_builder = new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Notification Title")
.setContentText("Notification Body")
.setAutoCancel(true)
.setContentIntent(pending_intent);

notification_manager = NotificationManagerCompat.from(this);
}
}

activity_main.xml

 <?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.ww.lab.MainActivity">

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Do it!"
android:id="@+id/button"
android:onClick="sendNotification"/>
</android.support.constraint.ConstraintLayout>

最佳答案

正如您所说,您的编译的 sdk 版本是 26。在发布通知之前,您需要设置通知的 channel 。所以它会像

NotificationManager notification_manager = (NotificationManager) this
.getSystemService(Context.NOTIFICATION_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
String chanel_id = "3000";
CharSequence name = "Channel Name";
String description = "Chanel Description";
int importance = NotificationManager.IMPORTANCE_LOW;
NotificationChannel mChannel = new NotificationChannel(chanel_id, name, importance);
mChannel.setDescription(description);
mChannel.enableLights(true);
mChannel.setLightColor(Color.BLUE);
notification_manager.createNotificationChannel(mChannel);
notification_builder = new NotificationCompat.Builder(this, chanel_id)
} else {
notification_builder = new NotificationCompat.Builder(this);
}
notification_builder.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Notification Title")
.setContentText("Notification Body")
.setAutoCancel(true)
.setContentIntent(pending_intent);

更多请访问Developer Site

关于java - Android-通知没有出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47192859/

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