Android 利用服务Service创建标题栏通知
创建标题栏通知的核心代码
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
public void CreateInform() { //定义一个PendingIntent,当用户点击通知时,跳转到某个Activity(也可以发送广播等) Intent intent = new Intent(context,MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); //创建一个通知 Notification notification = new Notification(R.drawable.icon, "巴拉巴拉~~", System.currentTimeMillis()); notification.setLatestEventInfo(context, "点击查看", "点击查看详细内容", pendingIntent); //用NotificationManager的notify方法通知用户生成标题栏消息通知 NotificationManager nManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); nManager.notify(100, notification);//id是应用中通知的唯一标识 //如果拥有相同id的通知已经被提交而且没有被移除,该方法会用更新的信息来替换之前的通知。 } |
全部Service代码
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
package com.app.myservice; import org.json.JSONException; import org.json.JSONObject; import com.app.util.MyApplication; import android.R.integer; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.app.Service; import android.content.Context; import android.content.Intent; import android.os.IBinder; public class ServiceDemo02 extends Service{ Context context; @Override public void onCreate() { // TODO Auto-generated method stub super.onCreate(); context = getApplicationContext(); } //创建通知 public void CreateInform() { //定义一个PendingIntent,当用户点击通知时,跳转到某个Activity(也可以发送广播等) Intent intent = new Intent(context,MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); //创建一个通知 Notification notification = new Notification(R.drawable.icon, "巴拉巴拉~~", System.currentTimeMillis()); notification.setLatestEventInfo(context, "点击查看", "点击查看详细内容", pendingIntent); //用NotificationManager的notify方法通知用户生成标题栏消息通知 NotificationManager nManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); nManager.notify(100, notification);//id是应用中通知的唯一标识 //如果拥有相同id的通知已经被提交而且没有被移除,该方法会用更新的信息来替换之前的通知。 } @Override public void onStart(Intent intent, int startId) { // TODO Auto-generated method stubm super.onStart(intent, startId); CreateInform(); } @Override public void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); } @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return null; } } |
效果图


浙公网安备 33010602011771号