huangbo 9 ans auparavant
Parent
commit
ad8042e6c7

+ 3 - 0
multiple-client/clean-res.cmd

@ -0,0 +1,3 @@
1
adb shell rm -r /mnt/sdcard/multiple-client
2
adb shell ls /mnt/sdcard/
3
pause

+ 38 - 5
multiple-client/src/com/ai/mobile/multiple/SubAppActivity.java

@ -1,19 +1,29 @@
1 1
package com.ai.mobile.multiple;
2 2

3
import java.util.HashMap;
4
import java.util.Map;
5

3 6
import android.content.pm.PackageManager.NameNotFoundException;
4 7
import android.os.Bundle;
5 8
import android.view.View;
6 9

10
import com.ailk.common.data.IData;
11
import com.ailk.common.data.impl.DataMap;
7 12
import com.wade.mobile.app.AppRecord;
8 13
import com.wade.mobile.app.MobileOperation;
9 14
import com.wade.mobile.app.MobileUtil;
10 15
import com.wade.mobile.frame.activity.TemplateMainActivity;
11
import com.wade.mobile.frame.config.MobileConfig;
16
import com.wade.mobile.frame.config.ServerConfig;
17
import com.wade.mobile.frame.multiple.MultipleManager;
12 18
import com.wade.mobile.frame.template.TemplateWebView;
19
import com.wade.mobile.func.MobileStorage;
20
import com.wade.mobile.func.MobileUI;
13 21
import com.wade.mobile.ui.comp.dialog.ConfirmBlockDialog;
14 22
import com.wade.mobile.ui.view.FlipperLayout;
15 23

16 24
public class SubAppActivity extends TemplateMainActivity{
25
	private static Map<String,Boolean> firstStatus = new HashMap<String,Boolean>();//判断子应用第一次开启状态
26
	
17 27
	@Override
18 28
	public void onCreate(Bundle savedInstanceState) {
19 29
		setTheme(R.style.Theme_Sherlock_Light);
@ -49,8 +59,31 @@ public class SubAppActivity extends TemplateMainActivity{
49 59
		finish();
50 60
	}
51 61
	
62
	@Override
63
	protected void initActivity() throws Exception {
64
		// TODO Auto-generated method stub
65
		firstStatus.put(MultipleManager.getCurrAppId(), false);
66
		IData param = new DataMap();
67
		MobileStorage mobileStorage = getPluginManager().getPlugin(MobileStorage.class);
68
		param.put("SESSION_ID", mobileStorage.getMemoryCache("SESSION_ID", ""));
69
		param.put("ACCOUNT", mobileStorage.getMemoryCache("ACCOUNT", ""));
70
		
71
		String indexPage = getIntent().getStringExtra("INDEX_PAGE");
72
		indexPage = indexPage == null ? ServerConfig.getInstance().getValue("indexPage") : indexPage;
73
		MobileUI mobileUI = getPluginManager().getPlugin(MobileUI.class);
74
		mobileUI.openPage(indexPage, param);
75
	}
76
	
52 77
	/**
53
	 * 不再更新客户端
78
	 * 第二次进入则不做资源更新客户端更新
79
	 */
80
	protected boolean isUpdate() {
81
		// TODO Auto-generated method stub
82
		return firstStatus.get(MultipleManager.getCurrAppId()) == null;
83
	}
84
	
85
	/**
86
	 * 不做客户端更新
54 87
	 */
55 88
	@Override
56 89
	protected boolean isUpdateClient(String clientVersion) throws NameNotFoundException {
@ -59,12 +92,12 @@ public class SubAppActivity extends TemplateMainActivity{
59 92
	}
60 93
	
61 94
	/**
62
	 * 不使用欢迎页
95
	 * 第二次进入则不使用欢迎页的延时配置
63 96
	 */
64 97
	@Override
65
	protected boolean isLoadingPage() {
98
	protected boolean isUseLoadingTime() {
66 99
		// TODO Auto-generated method stub
67
		return false;
100
		return firstStatus.get(MultipleManager.getCurrAppId()) == null;
68 101
	}
69 102
	
70 103
	/**

+ 8 - 1
multiple-client/src/com/ai/mobile/multiple/func/AppManagePlugin.java

@ -1,5 +1,6 @@
1 1
package com.ai.mobile.multiple.func;
2 2

3
import java.io.File;
3 4
import java.util.HashMap;
4 5
import java.util.Map;
5 6

@ -13,10 +14,10 @@ import com.ailk.common.data.IData;
13 14
import com.ailk.common.data.IDataset;
14 15
import com.ailk.common.data.impl.DataMap;
15 16
import com.ailk.common.data.impl.DatasetList;
17
import com.wade.mobile.app.MobileAppInfo;
16 18
import com.wade.mobile.app.MobileUtil;
17 19
import com.wade.mobile.app.SimpleUpdate;
18 20
import com.wade.mobile.frame.IWadeMobile;
19
import com.wade.mobile.frame.config.ServerPageConfig;
20 21
import com.wade.mobile.frame.multiple.MultipleAppConfig;
21 22
import com.wade.mobile.frame.multiple.MultipleManager;
22 23
import com.wade.mobile.frame.plugin.Plugin;
@ -52,6 +53,7 @@ public class AppManagePlugin extends Plugin {
52 53
						appData.getString("requestServlet"), 
53 54
						appData.getString("appPath"));
54 55
				appConfig.putDefine("appWelcomePage", appData.getString("appWelcomePage"));
56
				appConfig.putDefine("appIndexPage", appData.getString("appIndexPage"));
55 57
				MultipleManager.putAppConfig(appData.getString("appId"), appConfig);
56 58
			}else if("N".equals(appData.getString("appType"))){
57 59
				nativeAppConfigs.put(appData.getString("appId"), 
@ -72,9 +74,12 @@ public class AppManagePlugin extends Plugin {
72 74
		Intent intent = new Intent(wademobile.getActivity(), SubAppActivity.class);
73 75
		
74 76
		MultipleAppConfig appConfig = MultipleManager.getAppConfig(appId);
77
		
78
		String indexPage = appConfig.getDefine("appIndexPage");
75 79
		String appWelcomePage = appConfig.getDefine("appWelcomePage");
76 80
		String welcomePage = Constant.START_FILE + FileUtil.connectFilePath(TemplateManager.getBasePath(),appWelcomePage);
77 81
		
82
		intent.putExtra("INDEX_PAGE", indexPage);//IPU的初始页
78 83
		intent.putExtra("WELCOME_PAGE", welcomePage);//IPU的欢迎页
79 84
		startActivityForResult(intent, OPEN_IPU_APP);
80 85
	}
@ -114,6 +119,8 @@ public class AppManagePlugin extends Plugin {
114 119
		// TODO Auto-generated method stub
115 120
		if (requestCode == OPEN_IPU_APP) {
116 121
			MultipleManager.setMultiple(false);
122
			String basePath = MobileAppInfo.getSdcardAppPath(context);
123
			TemplateManager.initBasePath(basePath + File.separator);// 存储模板基础路径
117 124
		}
118 125
	}
119 126