2016-10-04 31 views
1

我做闹钟应用和MyAlarmService有下面的代码。如何避免`getNotification`弃用?

public class MyAlarmService extends Service 
{ 
    private NotificationManager mManager; 

    @Override 
    public IBinder onBind(Intent arg0) 
    { 
     // TODO Auto-generated method stub 
     return null; 
    } 

    @Override 
    public void onCreate() 
    { 
     // TODO Auto-generated method stub 
     super.onCreate(); 
    } 

    @SuppressWarnings("static-access") 
    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) 
    { 
     mManager = (NotificationManager) this.getApplicationContext().getSystemService(this.getApplicationContext().NOTIFICATION_SERVICE); 
     Notification.Builder notification = new Notification.Builder(MyAlarmService.this); 
     Intent intent1 = new Intent(this.getApplicationContext(),ReminderPage.class); 
     PendingIntent pendingNotificationIntent = PendingIntent.getActivity(this.getApplicationContext(),0, intent1,0); 
     notification.setSmallIcon(R.drawable. notification_template_icon_bg) 
       .setContentTitle("Music player") 
       .setContentIntent(pendingNotificationIntent); 
     NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
     Notification notification1 = notification.getNotification(); 
     notificationManager.notify(R.drawable.notification_template_icon_bg, notification1); 
     mManager.notify(0, notification1); 
     return super.onStartCommand(intent,flags, startId); 
    } 

    @Override 
    public void onDestroy() 
    { 
     // TODO Auto-generated method stub 
     super.onDestroy(); 
    } 
  1. 在OnStart方法,它总是具有删除线。后一派,我改变onStart方法onStartCommand(),但不知道这是修改的正确方法。
  2. getNotification已被弃用。

AndroidMainfest

<uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="10" /> 

感谢。

回答

1

你可以试试这个,

NotificationCompat.Builder builder = new NotificationCompat.Builder(
       context); 
     notification = builder.setContentIntent(intent) 
       .setSmallIcon(R.drawable.push_icon).setTicker(title).setWhen(when) 
       .setAutoCancel(true).setContentTitle(title) 
       .setContentText(message).build(); 
     notificationManager.notify(requestID, notification); 
+0

应该我需要'返回super.onStartCommand(意向,旗帜,startId);'? –

+0

是的,你只需can.It工作只是改变一些方法 – Saveen

+0

什么是请求ID,当.... –