ソースを参照

新增通知消息ui及插件

leijie 9 年 前
コミット
9f1b0d5e03

+ 26 - 0
wade-mobile-func/src/com/wade/mobile/func/MobileUI.java

@ -27,6 +27,7 @@ import android.widget.TimePicker;
27 27
import com.ailk.common.data.IData;
28 28
import com.ailk.common.data.IDataset;
29 29
import com.ailk.common.data.impl.DataMap;
30
import com.wade.mobile.app.MobileAppInfo;
30 31
import com.wade.mobile.common.MobileLog;
31 32
import com.wade.mobile.common.contacts.activity.ContactsActivity;
32 33
import com.wade.mobile.common.contacts.helper.ContactsData;
@ -47,6 +48,7 @@ import com.wade.mobile.ui.anim.AnimationResource;
47 48
import com.wade.mobile.ui.build.dialog.progressdialog.SimpleProgressDialog;
48 49
import com.wade.mobile.ui.comp.dialog.HintDialog;
49 50
import com.wade.mobile.ui.comp.dialog.YMPickerDialog;
51
import com.wade.mobile.ui.comp.notification.Notify;
50 52
import com.wade.mobile.ui.helper.HintHelper;
51 53
import com.wade.mobile.ui.layout.ConstantParams;
52 54
import com.wade.mobile.ui.util.UiTool;
@ -884,4 +886,28 @@ public class MobileUI extends Plugin {
884 886
			callback(data.toString());
885 887
		}
886 888
	}
889
	
890
	/**
891
	 * 弹出通知消息
892
	 */
893
	public void showNotification(JSONArray param) throws Exception{
894
		String text = param.getString(0);//消息内容
895
		String title = param.getString(1);//消息标题
896
		title = isNull(title) ? MobileAppInfo.getInstance(context).getAppName() : title;
897
		String iconName = param.getString(2);
898
		int icon ;//消息icon值
899
		if(!isNull(iconName) && 0 == UiTool.getR(context, "drawble", iconName)){
900
			icon = 	UiTool.getR(context, "drawble", iconName);
901
		}else {
902
			icon = context.getApplicationInfo().icon;
903
		}
904
		int id = param.getInt(3);//设置通知id值
905
		id = (id == 0) ? 100 : id;
906
		showNotification(text, title, icon, id);
907
	}
908
	
909
	public void showNotification(String text,String title,int icon,int id){
910
		Notify notify = new Notify(context);
911
		notify.createNotify(text, title, icon, null, id);
912
	}
887 913
}

BIN
wade-mobile-ui/libs/android-support-v4.jar


+ 41 - 0
wade-mobile-ui/src/com/wade/mobile/ui/comp/notification/Notify.java

@ -0,0 +1,41 @@
1
package com.wade.mobile.ui.comp.notification;
2
3
import android.app.Notification;
4
import android.app.NotificationManager;
5
import android.app.PendingIntent;
6
import android.content.Context;
7
import android.support.v4.app.NotificationCompat;
8
import android.support.v4.app.NotificationCompat.Builder;
9
10
/**
11
 * 创建通知信息
12
 */
13
public class Notify {
14
	private Context context;
15
	private NotificationCompat.Builder builder;
16
	private NotificationManager nm;
17
	
18
	public Notify(Context context) {
19
		super();
20
		this.context = context;
21
	}
22
	
23
	public void createNotify(String text,String title,int icon,PendingIntent pendingIntent,int id){
24
		if(null == builder){
25
			builder = new Builder(context);
26
		}
27
		builder
28
		.setContentText(text)
29
		.setContentTitle(title)
30
		.setSmallIcon(icon)
31
		.setDefaults(Notification.DEFAULT_LIGHTS)
32
		.setDefaults(Notification.DEFAULT_VIBRATE)
33
		.setContentIntent(pendingIntent)
34
		.setAutoCancel(true)
35
		.setTicker(text);
36
		if(null == nm){
37
			nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
38
		}
39
		nm.notify(id, builder.getNotification());
40
	}
41
}