Java Qt Android通知,无法设置图像

Java Qt Android通知,无法设置图像,java,android,c++,qt,Java,Android,C++,Qt,我正在使用Java库在Qt中制作一个Android testapp,用于通知。按照Qt通知程序示例,我正在尝试为初学者重新创建相同的通知,但由于某些原因,此行不起作用: m_builder.setSmallIcon(R.drawable.icon); 它说: java:77: error: error: package R does not exist 我尝试补充: import java.lang.Object; import android.R.drawable; 我也尝试过: m_b

我正在使用Java库在Qt中制作一个Android testapp,用于通知。按照Qt通知程序示例,我正在尝试为初学者重新创建相同的通知,但由于某些原因,此行不起作用:

m_builder.setSmallIcon(R.drawable.icon);
它说:

java:77: error: error: package R does not exist
我尝试补充:

import java.lang.Object;
import android.R.drawable;
我也尝试过:

m_builder.setSmallIcon(android.R.drawable.icon);
但这给了我一个错误:

java:77: error: error: cannot find symbol
所以我已经检查了Qt通知程序,我认为我没有犯任何错误,但由于某些原因,它无法工作

我的问题是:如何正确设置此图标?

以下是完整的代码:

package org.qtproject.qt5.example;

import android.app.Notification;
import android.app.NotificationManager;
import android.content.Context;
import java.lang.Object;
import java.lang.Throwable;
import java.io.Writer;
import java.io.StringWriter;
import java.io.PrintWriter;

import android.R.drawable;


public class NotificationClient extends org.qtproject.qt5.android.bindings.QtActivity
{
    private static NotificationManager m_notificationManager;
    private static Notification.Builder m_builder;
    private static NotificationClient m_instance;

    public NotificationClient()
    {
        try {
            m_instance = this;
        } catch(Throwable t) {
            t.printStackTrace();
        }
    }

    public static void notify(String s)
    {
        try {
            if (m_notificationManager == null) {
                m_notificationManager = (NotificationManager)m_instance.getSystemService(Context.NOTIFICATION_SERVICE);
                m_builder = new Notification.Builder(m_instance);
                m_builder.setContentTitle("A message from Qt!");
                //m_builder.setSmallIcon(android.R.drawable.icon);
            }

            m_builder.setContentText(s);
            m_notificationManager.notify(1, m_builder.build());

        } catch(Throwable e) {
            e.printStackTrace();
        }
    }
}

我的问题是由于AndroidManifest.xml中的配置错误


正确编辑AndroidManifest并清理和重建项目后,问题得到解决。

要修复此错误,请确保java类中的包名和AndroidManifest.xml相同

NotificationClient.java:

package com.mypackage;
...
AndroidManifest.xml:

<manifest package="com.mypackage"...
...

我也面临同样的问题。你能分享一下你在“AndroidManifest.xml文件”中编辑了什么吗?@Gojir4哦,那是很久以前的事了,明天我会看看能不能找到那个项目,现在是我睡觉的时间hehe@Gojir4您是否正确检查了包名?这就是我的问题所在。检查下面的答案。嗨,我也有同样的问题。修复包名后,需要完全删除生成输出并重新生成,这一点很重要。干净运行并不能解决问题。