如何避免 `getNotification` 被弃用?
How to avoid `getNotification` deprecated?
我正在制作闹钟应用程序,并且在 MyAlarmService 中有以下代码。
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();
}
- 在onStart方法中,它总是有一个删除线。谷歌搜索后,我将
onStart
方法更改为 onStartCommand()
,但不确定这是不是正确的修改方法。
getNotification
已弃用。
AndroidMainfest
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="10" />
谢谢。
你能试试这个吗,
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);
您将通知生成器命名为 'notification'。
所以你应该简单地将 notification.getNotification() 替换为 notification.build().
就是这样。官方文档中的解释:https://developer.android.com/reference/android/app/Notification.Builder#getNotification()
我正在制作闹钟应用程序,并且在 MyAlarmService 中有以下代码。
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();
}
- 在onStart方法中,它总是有一个删除线。谷歌搜索后,我将
onStart
方法更改为onStartCommand()
,但不确定这是不是正确的修改方法。 getNotification
已弃用。
AndroidMainfest
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="10" />
谢谢。
你能试试这个吗,
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);
您将通知生成器命名为 'notification'。 所以你应该简单地将 notification.getNotification() 替换为 notification.build().
就是这样。官方文档中的解释:https://developer.android.com/reference/android/app/Notification.Builder#getNotification()