Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 通知管理器不显示任何类型的通知_Android_Notifications - Fatal编程技术网

Android 通知管理器不显示任何类型的通知

Android 通知管理器不显示任何类型的通知,android,notifications,Android,Notifications,我对android非常陌生,我有一个GCM客户端和服务器,运行良好。当应用程序运行时,我会收到来自服务器的通知 但当应用程序不运行时,我没有得到任何响应 以下是我用于生成通知的代码: private void generateNotification(Context context, String message) { int icon = 1; long when = System.currentTimeMillis(); Notific

我对android非常陌生,我有一个GCM客户端和服务器,运行良好。当应用程序运行时,我会收到来自服务器的通知

但当应用程序不运行时,我没有得到任何响应

以下是我用于生成通知的代码:

   private void generateNotification(Context context, String message) {
        int icon = 1;
        long when = System.currentTimeMillis();

        NotificationManager notificationManager = (NotificationManager)
                context.getSystemService(Context.NOTIFICATION_SERVICE);
        Notification notification = new Notification(icon, message, when);
        String title = context.getString(R.string.app_name);
        Intent notificationIntent = new Intent(context, DemoActivity.class);
        // set intent so it does not start a new activity
        notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |
                Intent.FLAG_ACTIVITY_SINGLE_TOP);
        PendingIntent intent =
                PendingIntent.getActivity(context, 0, notificationIntent, 0);
        notification.setLatestEventInfo(context, title, message, intent);
        notification.flags |= Notification.FLAG_AUTO_CANCEL;
        notificationManager.notify(0, notification);
    }
通过以下方式调用:

@Override
    protected void onMessage(Context context, Intent intent) {
        generateNotification(context, "Tock Tock");
    }
当我看到logcat时,我得到如下错误:

 Unable to find resource: 1
W/ImageView(   58): android.content.res.Resources$NotFoundException: Resource ID #0x1
W/ImageView(   58):     at android.content.res.Resources.getValue(Resources.java:892)
W/ImageView(   58):     at android.content.res.Resources.getDrawable(Resources.java:580)
W/ImageView(   58):     at android.widget.ImageView.resolveUri(ImageView.java:489)
W/ImageView(   58):     at android.widget.ImageView.onMeasure(ImageView.java:592)
W/ImageView(   58):     at android.view.View.measure(View.java:8171)
W/ImageView(   58):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
W/ImageView(   58):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
W/ImageView(   58):     at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:696)
W/ImageView(   58):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:306)
W/ImageView(   58):     at android.view.View.measure(View.java:8171)
W/ImageView(   58):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
W/ImageView(   58):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
W/ImageView(   58):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
W/ImageView(   58):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
W/ImageView(   58):     at android.view.View.measure(View.java:8171)
W/ImageView(   58):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
W/ImageView(   58):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
W/ImageView(   58):     at android.view.View.measure(View.java:8171)
W/ImageView(   58):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
W/ImageView(   58):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
W/ImageView(   58):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
W/ImageView(   58):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
W/ImageView(   58):     at android.view.View.measure(View.java:8171)
W/ImageView(   58):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
W/ImageView(   58):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
W/ImageView(   58):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
W/ImageView(   58):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
W/ImageView(   58):     at android.view.View.measure(View.java:8171)
W/ImageView(   58):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
W/ImageView(   58):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
W/ImageView(   58):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
W/ImageView(   58):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
W/ImageView(   58):     at android.view.View.measure(View.java:8171)
W/ImageView(   58):     at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:989)
W/ImageView(   58):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
W/ImageView(   58):     at android.widget.ScrollView.onMeasure(ScrollView.java:286)
W/ImageView(   58):     at android.view.View.measure(View.java:8171)
W/ImageView(   58):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
W/ImageView(   58):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
W/ImageView(   58):     at android.view.View.measure(View.java:8171)
W/ImageView(   58):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
W/ImageView(   58):     at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1012)
W/ImageView(   58):     at android.widget.LinearLayout.measureVertical(LinearLayout.java:381)
W/ImageView(   58):     at android.widget.LinearLayout.onMeasure(LinearLayout.java:304)
W/ImageView(   58):     at android.view.View.measure(View.java:8171)
W/ImageView(   58):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
W/ImageView(   58):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
W/ImageView(   58):     at android.view.View.measure(View.java:8171)
W/ImageView(   58):     at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3132)
W/ImageView(   58):     at android.widget.FrameLayout.onMeasure(FrameLayout.java:245)
W/ImageView(   58):     at android.view.View.measure(View.java:8171)
W/ImageView(   58):     at android.view.ViewRoot.performTraversals(ViewRoot.java:801)
W/ImageView(   58):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1727)
W/ImageView(   58):     at android.os.Handler.dispatchMessage(Handler.java:99)
W/ImageView(   58):     at android.os.Looper.loop(Looper.java:123)
W/ImageView(   58):     at com.android.server.ServerThread.run(SystemServer.java:506)
不知道我在哪里犯了错误。我将遵循来自的示例教程


提前感谢。

问题在于
int icon=1

您应该在那里添加一个真实的资源id,这样它就会显示在通知栏中。您将获得
Resources$NotFoundException
,因为找不到id为
1
的资源

例如,如果将名为
xyz.png
的图像放入
res/drawable
文件夹,则图像的id将为
R.drawable.xyz
,可以从以下代码调用:

int icon = R.drawable.xyz;

问题在于
int-icon=1

您应该在那里添加一个真实的资源id,这样它就会显示在通知栏中。您将获得
Resources$NotFoundException
,因为找不到id为
1
的资源

例如,如果将名为
xyz.png
的图像放入
res/drawable
文件夹,则图像的id将为
R.drawable.xyz
,可以从以下代码调用:

int icon = R.drawable.xyz;