2012-10-02 48 views
1

请帮助我我是新来的android和我需要添加通知声音到我的警报。我可以在哪里放置通知声音?这里是我的通知,但有错误代码“NotificationManager不能被解析为一个变量”android:NotificationManager无法解析为变量

应用力现在关闭我不知道为什么请大家帮忙,这里是日志猫

6月10日至二日: 03:38.785:W/dalvikvm(938):threadid = 1:线程退出与未捕获的异常(组= 0x40015560) 10-02 06:03:38.879:E/AndroidRuntime(938):致命例外:主 10-02 06/03:38.879:E/AndroidRuntime(938):java.lang.IllegalArgumentException:contentView必需:pkg = med.scheduler id = 0 notification =通知(振动=默认,声音=内容:/ /设置/系统/ alarm_alert,默认值= 0x2,标志= 0x10) 10-02 06:03:38.879 :E/AndroidRuntime(938):at android.os.Parcel.readException(Parcel.java:1326) 10-02 06:03:38.879:E/AndroidRuntime(938):at android.os.Parcel.readException(Parcel .java:1276) 10-02 06:03:38.879:E/AndroidRuntime(938):at android.app.INotificationManager $ Stub $ Proxy.enqueueNotificationWithTag(INotificationManager.java:274) 10-02 06:03:38.879 :E/AndroidRuntime(938):在android.app.NotificationManager.notify(NotificationManager.java:111) 10-02 06:03:38.879:E/AndroidRuntime(938):at android.app.NotificationManager.notify(NotificationManager .java:91) 10-02 06:03:38.879:E/AndroidRuntime(938):at med.scheduler.Enter_med $ 7.onClick(Enter_med.java:260) 10-02 06:03:38.879:E/AndroidRuntime(938):在android.view.View.performClick(View.java:2485) 10-02 06:03:38.879:E/AndroidRun time(938):at android.view.View $ PerformClick.run(View.java:9080) 10-02 06:03:38.879:E/AndroidRuntime(938):at android.os.Handler.handleCallback(Handler。 java:587) 10-02 06:03:38.879:E/AndroidRuntime(938):at android.os.Handler.dispatchMessage(Handler.java:92) 10-02 06:03:38.879:E/AndroidRuntime 938):在android.os.Looper.loop(Looper.java:123) 10-02 06:03:38.879:E/AndroidRuntime(938):at android.app.ActivityThread.main(ActivityThread.java:3683)在Android中的E/AndroidRuntime(938):在java.lang.reflect.Method.invokeNative(Native Method) 10-02 06:03:38.879:E/AndroidRuntime(938):at java .lang.reflect.Method.invoke(Method.java:507) 10-02 06:03:38.879:E/AndroidRuntime(938):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java :839) 10-02 06:03:38.879:E/AndroidRuntime(938):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 10-02 06:03:38.879:E/AndroidRuntime 938):at dalvik.system.NativeStart.main(Native Method) 10-02 06:03:43.855:I/Process(938):发送信号。 PID:938 SIG:9

 Intent alarmIntent = new Intent (Enter_med.this, MyAlarmService.class); 

        NotificationManager manager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); 

        PendingIntent pi = PendingIntent.getActivity(context, 0, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT); 
        Notification note = new Notification(R.drawable.ic_launcher, "Alarm", System.currentTimeMillis()); 
        Uri alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); 
        if(alarmSound == null){ 
         alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE); 
         if(alarmSound == null){ 
          alarmSound = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); 
         } 
        } 
        note.sound = alarmSound; 
        note.defaults |= Notification.DEFAULT_VIBRATE; 
        note.flags |= Notification.FLAG_AUTO_CANCEL; 
        manager.notify(0, note); 

       //alarm1 
         PendingIntent pendingAlarmIntent = PendingIntent.getService(Enter_med.this, 0, alarmIntent, PendingIntent.FLAG_UPDATE_CURRENT); 

         AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); 

         Calendar AlarmCal = Calendar.getInstance(); 
         AlarmCal.setTimeInMillis(System.currentTimeMillis()); 
         AlarmCal.set(Calendar.HOUR_OF_DAY, pHour); 
         AlarmCal.set(Calendar.MINUTE, pMinute); 
         AlarmCal.set(Calendar.SECOND, 0); 

         alarmManager.set(AlarmManager.RTC_WAKEUP, AlarmCal.getTimeInMillis(), pendingAlarmIntent); 
+0

你可以尝试清理一次你的项目吗? – midhunhk

+0

我试过它总是强制关闭 –

+0

问题是你试图启动的活动,你需要设置其内容视图 – Carnal

回答

1

您需要更改您的代码:

NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

只需卸下。之前的方法getSystemService()

自从您使用了以来,编译器正在寻找名为“NotificationManager”的变量。它旁边的操作员。

1

在你的代码

NotificationManager manager = (NotificationManager).getSystemService(Context.NOTIFICATION_SERVICE); 

将其更改为

NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); 
+0

谢谢。工作,但应用程序部队关闭我不知道为什么这里是logcat –

+0

你会通过编辑你的问题发布logcat? – 2012-10-02 06:12:21

+0

我刚刚发布了它 –

0

为此,您可以像这样,如果你想

String ns = Context.NOTIFICATION_SERVICE; 
     NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns); 

     int icon = R.drawable.ic_launcher; 
     CharSequence tickerText = "Hello"; 
     long when = System.currentTimeMillis(); 

     Notification notification = new Notification(icon, tickerText, when); 

     Context context = getApplicationContext(); 
     CharSequence contentTitle = "My notification"; 
     CharSequence contentText = "Hello World! " + android_id; 
     Intent notificationIntent = new Intent(this, 
       ExpMapLatLongActivity.class); 
     PendingIntent contentIntent = PendingIntent.getActivity(this, 0, 
       notificationIntent, 0); 

     notification.setLatestEventInfo(context, contentTitle, contentText, 
       contentIntent); 

     mNotificationManager.notify(HELLO_ID, notification); 
0

你忘了这个队友:

note.setLatestEventInfo(this, "contentTitle", "contentText", pi); 
+0

我可以放在哪里?对不起,只是一个初学者 –

+0

把它打电话之前通知(0,注意); – Carnal

+0

这个pendingIntent会告诉哪个活动开始 – Carnal