2016-11-19 15 views
0
package com.example.khatrimann.notification; 

import android.app.Notification; 
import android.app.NotificationManager; 
import android.app.PendingIntent; 
import android.content.Context; 
import android.content.Intent; 
import android.support.v4.app.NotificationCompat; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 

public class MainActivity extends AppCompatActivity { 

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

    Intent intent = new Intent(this, MainActivity.class); 
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0); 

    NotificationCompat.Builder b = new NotificationCompat.Builder(this); 

    b.setTicker("khatrimann") 
      .setContentTitle("Default notification") 
      .setContentText("Hey There.") 
      .setContentIntent(contentIntent); 


    NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
    notificationManager.notify(1, b.build()); 
} 
} 

このコードはマシュマロでテストされているため、クラッシュして動作しません。通知アクティビティがクラッシュする

android.support.v4とv7のいずれも1つずつ試してからアプリがクラッシュします。次のように

LOGCATは次のとおりです。

11-20 18:24:59.623 4146-4146/com.example.khatrimann.notification E/AndroidRuntime: FATAL EXCEPTION: main 
                       Process: com.example.khatrimann.notification, PID: 4146 
                       Theme: themes:{default=overlay:system, iconPack:system, fontPkg:system, com.android.systemui=overlay:system, com.android.systemui.navbar=overlay:system} 
                       java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.khatrimann.notification/com.example.khatrimann.notification.MainActivity}: java.lang.IllegalArgumentException: Invalid notification (no valid small icon): Notification(pri=0 contentView=com.example.khatrimann.notification/0x1090085 vibrate=null sound=null tick defaults=0x0 flags=0x0 color=0x00000000 vis=PRIVATE) 
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2450) 
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2510) 
                        at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363) 
                        at android.os.Handler.dispatchMessage(Handler.java:102) 
                        at android.os.Looper.loop(Looper.java:148) 
                        at android.app.ActivityThread.main(ActivityThread.java:5461) 
                        at java.lang.reflect.Method.invoke(Native Method) 
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
                       Caused by: java.lang.IllegalArgumentException: Invalid notification (no valid small icon): Notification(pri=0 contentView=com.example.khatrimann.notification/0x1090085 vibrate=null sound=null tick defaults=0x0 flags=0x0 color=0x00000000 vis=PRIVATE) 
                        at android.app.NotificationManager.notify(NotificationManager.java:223) 
                        at android.app.NotificationManager.notify(NotificationManager.java:195) 
                        at com.example.khatrimann.notification.MainActivity.onCreate(MainActivity.java:32) 
                        at android.app.Activity.performCreate(Activity.java:6251) 
                        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1108) 
                        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2403) 
                        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2510)  
                        at android.app.ActivityThread.-wrap11(ActivityThread.java)  
                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1363)  
                        at android.os.Handler.dispatchMessage(Handler.java:102)  
                        at android.os.Looper.loop(Looper.java:148)  
                        at android.app.ActivityThread.main(ActivityThread.java:5461)  
                        at java.lang.reflect.Method.invoke(Native Method)  
                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)  
                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)  

エラーは、あなたがこのコード例のように、小さなアイコンを追加する必要があり、通知を作成すると、メイン

+0

ここにlogcatを投稿してください。 –

答えて

4

のFATALであることが示されています。

NotificationCompat.Builder mBuilder = 
    new NotificationCompat.Builder(this) 
    .setSmallIcon(R.drawable.notification_icon) 
    .setContentTitle("My notification") 
    .setContentText("Hello World!"); 
+0

ありがとう!それは助けた – Mann

+0

あなたは答えを受け入れることができますか? –

+0

ええ!スタジオで試してみました。誤ってドキュメントで、私はこの部分をスキップしました。 PS:十分な担当者がいないので、議決権を行使できません。 – Mann

関連する問題