java.lang.SecurityException:权限被拒绝:getIntentSender() 来自 pid=1484,uid=10151,(需要 uid=1000)

java.lang.SecurityException: Permission Denial: getIntentSender() from pid=1484, uid=10151, (need uid=1000)

我在 HTC DESIRE 626GPLUS DUAL SIM 和 Android 4.4.2

上收到此错误]
java.lang.SecurityException: Permission Denial: getIntentSender() from pid=1484, uid=10151, (need uid=1000) is not allowed to send as package android
       at android.os.Parcel.readException(Parcel.java:1472)
       at android.os.Parcel.readException(Parcel.java:1426)
       at android.app.INotificationManager$Stub$Proxy.cancelAllNotifications(INotificationManager.java:271)
       at android.app.NotificationManager.cancelAll(NotificationManager.java:220)
       at com.bakar.GcmIntentService.onHandleIntent(GcmIntentService.java:92)
       at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
       at android.os.Handler.dispatchMessage(Handler.java:110)
       at android.os.Looper.loop(Looper.java:193)
       at android.os.HandlerThread.run(HandlerThread.java:61)

您不能请求用户 ID 1000,因为这是系统用户 ID

尝试在您的代码中添加 try-catch,如下所示:

NotificationManager nMgr = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
try {
    nMgr.cancelAll();
} catch (Exception e) {
    e.printStackTrace();
}

因为您提到的设备型号可能不支持 cancelAll()