2

我已经制定了一种方法,可以在进度加载完成时发送本地通知,当我构建应用程序时,一切都很清楚,没有任何错误/警告我在使用 Google 控制台崩溃报告发布后收到此消息

这是通知方法:

public void notif() {

    final int NOTIFICATION_ID = 1;
    int icon = getIcon();
    String provx = getProv();

    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(getBaseContext());
    Notification notification = mBuilder
            .setSmallIcon(icon)               
            .setVibrate(new long[]{1000, 1000})
            .setLights(Color.BLUE, 700, 500)
            .setContentTitle("New notification!")
            .setStyle(new NotificationCompat.BigTextStyle().bigText(provx))
            .setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION))
            .setContentText(provx)
            .build();

    NotificationManager nMN = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    nMN.notify(NOTIFICATION_ID, notification); //here where I got the error
}

这是崩溃日志:

java.lang.SecurityException: 
   at android.os.Parcel.readException (Parcel.java:1425)
   at android.os.Parcel.readException (Parcel.java:1379)
   at android.app.INotificationManager$Stub$Proxy.enqueueNotificationWithTag (INotificationManager.java:246)
   at android.app.NotificationManager.notify (NotificationManager.java:135)
   at android.app.NotificationManager.notify (NotificationManager.java:111)
   at com.dev.days.myapp.Splash.notif (Splash.java:184)
   at com.dev.days.myapp.Splash$1.run (Splash.java:151)
   at java.lang.Thread.run (Thread.java:856)
4

1 回答 1

2

正如上面的@Adam S 建议的那样,这只是通过在文件中添加VIBRATE权限来解决manifest

<uses-permission android:name="android.permission.VIBRATE" />
于 2017-08-15T14:57:17.470 回答