Commit fc0b8695adf7469f99ba80f38c680997abababc3
1 parent
a94485b3
畅游通核销app4.0 1.适配安卓高版本
Showing
15 changed files
with
1017 additions
and
769 deletions
AndroidManifest.xml
| @@ -29,11 +29,14 @@ | @@ -29,11 +29,14 @@ | ||
| 29 | 29 | ||
| 30 | <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> | 30 | <uses-permission android:name="android.permission.DISABLE_KEYGUARD" /> |
| 31 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | 31 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
| 32 | + <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> | ||
| 32 | <uses-permission android:name="android.permission.RESTART_PACKAGES" /> | 33 | <uses-permission android:name="android.permission.RESTART_PACKAGES" /> |
| 33 | <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /> | 34 | <uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" /> |
| 34 | <uses-permission android:name="android.permission.BROADCAST_STICKY" /> | 35 | <uses-permission android:name="android.permission.BROADCAST_STICKY" /> |
| 35 | <uses-permission android:name="android.permission.CALL_PHONE" /> | 36 | <uses-permission android:name="android.permission.CALL_PHONE" /> |
| 36 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> | 37 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> |
| 38 | + <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /> | ||
| 39 | + <uses-permission android:name="android.permission.CAMERA" /> | ||
| 37 | <!-- 读写sd卡的权限,用于缓存广告所用到的图片,节省流量 ,并可获得更好的用户体验(所有使用有米android 2.0版本以上sdk的应用都会共享缓存的图片) --> | 40 | <!-- 读写sd卡的权限,用于缓存广告所用到的图片,节省流量 ,并可获得更好的用户体验(所有使用有米android 2.0版本以上sdk的应用都会共享缓存的图片) --> |
| 38 | <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> | 41 | <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> |
| 39 | <!-- 连接网络权限 ,用于请求广告(必须) --> | 42 | <!-- 连接网络权限 ,用于请求广告(必须) --> |
build.gradle
| @@ -33,7 +33,7 @@ buildscript { | @@ -33,7 +33,7 @@ buildscript { | ||
| 33 | } | 33 | } |
| 34 | 34 | ||
| 35 | dependencies { | 35 | dependencies { |
| 36 | - implementation files('libs/android-support-v4.jar') | 36 | +// implementation files('libs/android-support-v4.jar') |
| 37 | implementation files('libs/bcprov-jdk16-1.45.jar') | 37 | implementation files('libs/bcprov-jdk16-1.45.jar') |
| 38 | implementation files('libs/dom4j-1.6.1.jar') | 38 | implementation files('libs/dom4j-1.6.1.jar') |
| 39 | implementation files('libs/fastjson-1.2.3.jar') | 39 | implementation files('libs/fastjson-1.2.3.jar') |
| @@ -57,6 +57,7 @@ dependencies { | @@ -57,6 +57,7 @@ dependencies { | ||
| 57 | implementation files('libs/bw_pos_sdk2.0.18.jar') | 57 | implementation files('libs/bw_pos_sdk2.0.18.jar') |
| 58 | implementation 'com.squareup.okhttp3:okhttp:3.6.0' | 58 | implementation 'com.squareup.okhttp3:okhttp:3.6.0' |
| 59 | implementation 'com.sunmi:printerx:1.0.18' | 59 | implementation 'com.sunmi:printerx:1.0.18' |
| 60 | + implementation 'com.android.support:appcompat-v7:28.0.0' | ||
| 60 | // implementation('com.android.support:support-v4:21.0.0') | 61 | // implementation('com.android.support:support-v4:21.0.0') |
| 61 | // implementation('com.android.support:appcompat-v7:21.0.0'){ // You should exclude one of them not both of them | 62 | // implementation('com.android.support:appcompat-v7:21.0.0'){ // You should exclude one of them not both of them |
| 62 | // exclude module: "support-v4" | 63 | // exclude module: "support-v4" |
| @@ -79,7 +80,7 @@ dependencies { | @@ -79,7 +80,7 @@ dependencies { | ||
| 79 | } | 80 | } |
| 80 | 81 | ||
| 81 | android { | 82 | android { |
| 82 | - compileSdkVersion 21 | 83 | + compileSdkVersion 30 |
| 83 | 84 | ||
| 84 | buildTypes { | 85 | buildTypes { |
| 85 | release { | 86 | release { |
| @@ -129,7 +130,7 @@ android { | @@ -129,7 +130,7 @@ android { | ||
| 129 | } | 130 | } |
| 130 | defaultConfig { | 131 | defaultConfig { |
| 131 | minSdkVersion 19 | 132 | minSdkVersion 19 |
| 132 | - targetSdkVersion 21 | 133 | + targetSdkVersion 30 |
| 133 | vectorDrawables.useSupportLibrary =true | 134 | vectorDrawables.useSupportLibrary =true |
| 134 | 135 | ||
| 135 | ndk { | 136 | ndk { |
libs/android-support-v4.jar deleted
No preview for this file type
project.properties
| @@ -11,4 +11,4 @@ | @@ -11,4 +11,4 @@ | ||
| 11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt | 11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt |
| 12 | 12 | ||
| 13 | # Project target. | 13 | # Project target. |
| 14 | -target=android-21 | 14 | +target=android-30 |
res/layout-sw360dp/app_top_title.xml
| @@ -45,14 +45,14 @@ | @@ -45,14 +45,14 @@ | ||
| 45 | android:visibility="gone" | 45 | android:visibility="gone" |
| 46 | android:textSize="@dimen/topBtnsSize" /> | 46 | android:textSize="@dimen/topBtnsSize" /> |
| 47 | 47 | ||
| 48 | - <com.ectrip.trips.view.CheckSwitchButton | ||
| 49 | - android:id="@+id/switchButton" | ||
| 50 | - android:layout_width="wrap_content" | ||
| 51 | - android:layout_height="wrap_content" | ||
| 52 | - android:layout_alignParentRight="true" | ||
| 53 | - android:layout_centerVertical="true" | ||
| 54 | - android:layout_marginRight="5dp" | ||
| 55 | - android:visibility="gone" /> | 48 | +<!-- <com.ectrip.trips.view.CheckSwitchButton--> |
| 49 | +<!-- android:id="@+id/switchButton"--> | ||
| 50 | +<!-- android:layout_width="wrap_content"--> | ||
| 51 | +<!-- android:layout_height="wrap_content"--> | ||
| 52 | +<!-- android:layout_alignParentRight="true"--> | ||
| 53 | +<!-- android:layout_centerVertical="true"--> | ||
| 54 | +<!-- android:layout_marginRight="5dp"--> | ||
| 55 | +<!-- android:visibility="gone" />--> | ||
| 56 | 56 | ||
| 57 | <TextView | 57 | <TextView |
| 58 | android:id="@+id/printText" | 58 | android:id="@+id/printText" |
src/com/ectrip/cyt/config/DevicTool.java
| @@ -26,6 +26,7 @@ import android.net.wifi.WifiManager; | @@ -26,6 +26,7 @@ import android.net.wifi.WifiManager; | ||
| 26 | import android.os.Build; | 26 | import android.os.Build; |
| 27 | import android.os.Handler; | 27 | import android.os.Handler; |
| 28 | import android.os.Message; | 28 | import android.os.Message; |
| 29 | +import android.provider.Settings; | ||
| 29 | import android.telephony.TelephonyManager; | 30 | import android.telephony.TelephonyManager; |
| 30 | import android.text.TextUtils; | 31 | import android.text.TextUtils; |
| 31 | import android.util.DisplayMetrics; | 32 | import android.util.DisplayMetrics; |
| @@ -110,7 +111,9 @@ public class DevicTool { | @@ -110,7 +111,9 @@ public class DevicTool { | ||
| 110 | .substring(0, 2).equals("DY"))) { | 111 | .substring(0, 2).equals("DY"))) { |
| 111 | devId = getSerialNumber(); | 112 | devId = getSerialNumber(); |
| 112 | } else { | 113 | } else { |
| 113 | - if(Build.VERSION.SDK_INT>=28){ | 114 | + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { |
| 115 | + devId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID); | ||
| 116 | + }else if(Build.VERSION.SDK_INT>=28){ | ||
| 114 | devId = getLocalMacIdFromIp(); | 117 | devId = getLocalMacIdFromIp(); |
| 115 | }else{ | 118 | }else{ |
| 116 | devId = getLocalMacAddress(); | 119 | devId = getLocalMacAddress(); |
src/com/ectrip/cyt/config/MyApp.java
| @@ -79,7 +79,7 @@ import com.hdx.lib.serial.SerialPortOperaion; | @@ -79,7 +79,7 @@ import com.hdx.lib.serial.SerialPortOperaion; | ||
| 79 | import com.hdx.lib.serial.SerialPortOperaion.SerialReadData; | 79 | import com.hdx.lib.serial.SerialPortOperaion.SerialReadData; |
| 80 | 80 | ||
| 81 | 81 | ||
| 82 | -public class MyApp extends BaseApplication { | 82 | +public class MyApp extends Application { |
| 83 | private static final String TAG = "MyApp"; | 83 | private static final String TAG = "MyApp"; |
| 84 | private static MyApp instance; | 84 | private static MyApp instance; |
| 85 | // 是否是手持机 | 85 | // 是否是手持机 |
src/com/ectrip/cyt/ui/BaseActivity.java
| @@ -79,7 +79,7 @@ public abstract class BaseActivity extends FragmentActivity { | @@ -79,7 +79,7 @@ public abstract class BaseActivity extends FragmentActivity { | ||
| 79 | /** | 79 | /** |
| 80 | * 设置为横屏 | 80 | * 设置为横屏 |
| 81 | */ | 81 | */ |
| 82 | - LogUtil.i(TAG, "isTablet == " + isTablet); | 82 | +// LogUtil.i(TAG, "isTablet == " + isTablet); |
| 83 | if (isTablet) { | 83 | if (isTablet) { |
| 84 | if (getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { | 84 | if (getRequestedOrientation() != ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE) { |
| 85 | setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); | 85 | setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); |
src/com/ectrip/cyt/ui/InputCodeActivity.java
| @@ -109,7 +109,18 @@ public class InputCodeActivity extends BaseActivity implements | @@ -109,7 +109,18 @@ public class InputCodeActivity extends BaseActivity implements | ||
| 109 | 109 | ||
| 110 | et_sfz.requestFocus(); | 110 | et_sfz.requestFocus(); |
| 111 | 111 | ||
| 112 | - if (android.os.Build.VERSION.SDK_INT >= 11) { | 112 | + if (android.os.Build.VERSION.SDK_INT >= 28) { |
| 113 | + try { | ||
| 114 | + et_sfz.setShowSoftInputOnFocus(false); | ||
| 115 | + et_sfz.requestFocus(); | ||
| 116 | + } catch (Exception e) { | ||
| 117 | + e.printStackTrace(); | ||
| 118 | + textViewShow(et_sfz); | ||
| 119 | + } catch (Throwable e) { | ||
| 120 | + e.printStackTrace(); | ||
| 121 | + textViewShow(et_sfz); | ||
| 122 | + } | ||
| 123 | + }else if (android.os.Build.VERSION.SDK_INT >= 11) { | ||
| 113 | try { | 124 | try { |
| 114 | et_sfz.setShowSoftInputOnFocus(false); | 125 | et_sfz.setShowSoftInputOnFocus(false); |
| 115 | } catch (Exception e) { | 126 | } catch (Exception e) { |
src/com/ectrip/cyt/ui/InputIdCardActivity.java
| @@ -24,6 +24,7 @@ import com.ectrip.cyt.shield_home.LockLayer.MToast; | @@ -24,6 +24,7 @@ import com.ectrip.cyt.shield_home.LockLayer.MToast; | ||
| 24 | import com.ectrip.cyt.utils.ActivitiesManager; | 24 | import com.ectrip.cyt.utils.ActivitiesManager; |
| 25 | import com.ectrip.cyt.utils.CommetryUtils; | 25 | import com.ectrip.cyt.utils.CommetryUtils; |
| 26 | import com.ectrip.cyt.utils.CountDownTimer; | 26 | import com.ectrip.cyt.utils.CountDownTimer; |
| 27 | +import com.ectrip.cyt.utils.LogUtil; | ||
| 27 | import com.ectrip.cyt.utils.RegexUtils; | 28 | import com.ectrip.cyt.utils.RegexUtils; |
| 28 | import com.ectrip.cyt.utils.SharedPreferences2Obj; | 29 | import com.ectrip.cyt.utils.SharedPreferences2Obj; |
| 29 | import com.ectrip.trips.check.R; | 30 | import com.ectrip.trips.check.R; |
| @@ -34,253 +35,265 @@ import com.ectrip.trips.view.LongClickButton.LongClickRepeatListener; | @@ -34,253 +35,265 @@ import com.ectrip.trips.view.LongClickButton.LongClickRepeatListener; | ||
| 34 | * @author Administrator 身份证输入页面 | 35 | * @author Administrator 身份证输入页面 |
| 35 | */ | 36 | */ |
| 36 | public class InputIdCardActivity extends BaseActivity implements | 37 | public class InputIdCardActivity extends BaseActivity implements |
| 37 | - View.OnClickListener,LongClickRepeatListener{ | ||
| 38 | - | ||
| 39 | - private String titleName; | ||
| 40 | - // 身份证 | ||
| 41 | - private EditText idEdit; | ||
| 42 | - private TextView one, two, three, four, five, six, seven, eight, nine, zero, | ||
| 43 | - X_btn, topBtns; | ||
| 44 | - private LongClickButton delete; | ||
| 45 | - private int tag; | ||
| 46 | - | ||
| 47 | - @Override | ||
| 48 | - protected void onCreate(Bundle savedInstanceState) { | ||
| 49 | - super.onCreate(savedInstanceState); | ||
| 50 | - setContentView(R.layout.app_input_idcard); | ||
| 51 | - ActivitiesManager.getInstance().pushActivity(this); | ||
| 52 | - initConfig(); | ||
| 53 | - initView(); | ||
| 54 | - initReceiver(); | ||
| 55 | - } | ||
| 56 | - | ||
| 57 | - private void initReceiver() { | ||
| 58 | - IntentFilter filter = new IntentFilter("cyt.idcard.action"); | ||
| 59 | - registerReceiver(broadcastReceiver,filter); | ||
| 60 | - } | ||
| 61 | - | ||
| 62 | - private void initConfig() { | ||
| 63 | - tag = getIntent().getIntExtra("tag", -1); | ||
| 64 | - titleName = getIntent().getStringExtra("titleName"); | ||
| 65 | - if (tag == 0) { | ||
| 66 | - ((TextView) findViewById(R.id.title)) | ||
| 67 | - .setText(titleName == null ? getString(R.string.app_name) | ||
| 68 | - : getString(R.string.order_id) + titleName); | ||
| 69 | - | ||
| 70 | - } else { | ||
| 71 | - ((TextView) findViewById(R.id.title)) | ||
| 72 | - .setText(titleName == null ? getString(R.string.app_name) | ||
| 73 | - : titleName); | ||
| 74 | - } | ||
| 75 | - findViewById(R.id.topBack).setOnClickListener(new OnClickListener() { | ||
| 76 | - @Override | ||
| 77 | - public void onClick(View arg0) { | ||
| 78 | - finish(); | ||
| 79 | - } | ||
| 80 | - }); | ||
| 81 | - } | ||
| 82 | - | ||
| 83 | - @SuppressLint("NewApi") | ||
| 84 | - private void initView() { | ||
| 85 | - SharedPreferences2Obj.getInstance(InputIdCardActivity.this) | ||
| 86 | - .setName("SelectAction").setObject("isStatistic", "0"); // 非统计 | ||
| 87 | - titleName = getIntent().getStringExtra("titleName"); | ||
| 88 | - if (titleName != null) { | ||
| 89 | - ((TextView) findViewById(R.id.title)).setText(titleName); | ||
| 90 | - } else { | ||
| 91 | - ((TextView) findViewById(R.id.title)).setText(R.string.input_id); | ||
| 92 | - } | ||
| 93 | - ((TextView) findViewById(R.id.title)).setVisibility(View.VISIBLE); | ||
| 94 | - topBtns = (Button) findViewById(R.id.topBtns); | ||
| 95 | - topBtns.setVisibility(View.VISIBLE); | ||
| 96 | - | ||
| 97 | - idEdit = (EditText) findViewById(R.id.input_idcard); | ||
| 98 | - one = (TextView) findViewById(R.id.one); | ||
| 99 | - one.setOnClickListener(this); | ||
| 100 | - | ||
| 101 | - two = (TextView) findViewById(R.id.two); | ||
| 102 | - two.setOnClickListener(this); | ||
| 103 | - | ||
| 104 | - three = (TextView) findViewById(R.id.three); | ||
| 105 | - three.setOnClickListener(this); | ||
| 106 | - | ||
| 107 | - four = (TextView) findViewById(R.id.four); | ||
| 108 | - four.setOnClickListener(this); | ||
| 109 | - | ||
| 110 | - five = (TextView) findViewById(R.id.five); | ||
| 111 | - five.setOnClickListener(this); | ||
| 112 | - | ||
| 113 | - six = (TextView) findViewById(R.id.six); | ||
| 114 | - six.setOnClickListener(this); | ||
| 115 | - | ||
| 116 | - seven = (TextView) findViewById(R.id.seven); | ||
| 117 | - seven.setOnClickListener(this); | ||
| 118 | - | ||
| 119 | - eight = (TextView) findViewById(R.id.eight); | ||
| 120 | - eight.setOnClickListener(this); | ||
| 121 | - | ||
| 122 | - nine = (TextView) findViewById(R.id.nine); | ||
| 123 | - nine.setOnClickListener(this); | ||
| 124 | - | ||
| 125 | - zero = (TextView) findViewById(R.id.zero); | ||
| 126 | - zero.setOnClickListener(this); | ||
| 127 | - | ||
| 128 | - X_btn = (TextView) findViewById(R.id.X_btn); | ||
| 129 | - X_btn.setOnClickListener(this); | ||
| 130 | - | ||
| 131 | - delete =(LongClickButton) findViewById(R.id.delete); | ||
| 132 | - delete.setLongClickRepeatListener(this); | ||
| 133 | - delete.setOnClickListener(this); | ||
| 134 | - | ||
| 135 | - topBtns.setText(R.string.topbtn_ok); | ||
| 136 | - topBtns.setOnClickListener(this); | ||
| 137 | - | ||
| 138 | - if (tag == 0) { | ||
| 139 | - idEdit.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); | ||
| 140 | - idEdit.setTransformationMethod(PasswordTransformationMethod | ||
| 141 | - .getInstance()); | ||
| 142 | - idEdit.setHint(R.string.ticket_counter_pwd); | ||
| 143 | - } | ||
| 144 | - | ||
| 145 | - if (android.os.Build.VERSION.SDK_INT >= 11) { | ||
| 146 | - try { | ||
| 147 | - idEdit.setShowSoftInputOnFocus(false); | ||
| 148 | - } catch (Exception e) { | ||
| 149 | - e.printStackTrace(); | ||
| 150 | - textViewShow(idEdit); | ||
| 151 | - } catch (Throwable e) { | ||
| 152 | - e.printStackTrace(); | ||
| 153 | - textViewShow(idEdit); | ||
| 154 | - } | ||
| 155 | - } else { | ||
| 156 | - textViewShow(idEdit); | ||
| 157 | - } | ||
| 158 | - } | ||
| 159 | - | ||
| 160 | - private void textViewShow(EditText message) { | ||
| 161 | - | ||
| 162 | - if (android.os.Build.VERSION.SDK_INT <= 10) { | ||
| 163 | - message.setInputType(InputType.TYPE_NULL); | ||
| 164 | - } else { | ||
| 165 | - getWindow().setSoftInputMode( | ||
| 166 | - WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); | ||
| 167 | - try { | ||
| 168 | - Class<EditText> cls = EditText.class; | ||
| 169 | - Method setSoftInputShownOnFocus = cls.getMethod( | ||
| 170 | - "setSoftInputShownOnFocus", boolean.class); | ||
| 171 | - setSoftInputShownOnFocus.setAccessible(true); | ||
| 172 | - setSoftInputShownOnFocus.invoke(message, false); | ||
| 173 | - } catch (Exception e) { | ||
| 174 | - } | ||
| 175 | - } | ||
| 176 | - | ||
| 177 | - } | ||
| 178 | - | ||
| 179 | - @Override | ||
| 180 | - public void onClick(View v) { | ||
| 181 | - int index = 0; | ||
| 182 | - Editable editable = null; | ||
| 183 | - if (idEdit.isFocused()) { | ||
| 184 | - index = idEdit.getSelectionStart(); | ||
| 185 | - editable = idEdit.getText(); | ||
| 186 | - } | ||
| 187 | - | ||
| 188 | - switch (v.getId()) { | ||
| 189 | - case R.id.topBtns: | ||
| 190 | - String str = idEdit.getText().toString(); | ||
| 191 | - | ||
| 192 | - if (!RegexUtils.checkIdCard(str)) { | ||
| 193 | - MToast(InputIdCardActivity.this, | ||
| 194 | - getString(R.string.the_idcard_not_valid), | ||
| 195 | - MToast.LENGTH_SHORT); | ||
| 196 | - idEdit.setText(""); | ||
| 197 | - return; | ||
| 198 | - } | ||
| 199 | - Intent intent = new Intent(InputIdCardActivity.this, | ||
| 200 | - IDOrderListActivity.class); | ||
| 201 | - CountDownTimer.firstTime = new Date().getTime();// 不必要的可以删除 | ||
| 202 | - intent.putExtra("mode", 0); | ||
| 203 | - intent.putExtra("idcardNumber", str); | ||
| 204 | - intent.putExtra("titleName", getString(R.string.order_list)); | ||
| 205 | - startActivity(intent); | ||
| 206 | - | ||
| 207 | - break; | ||
| 208 | - case R.id.delete: | ||
| 209 | - if (idEdit.isFocused()) { | ||
| 210 | - index = idEdit.getSelectionStart(); | ||
| 211 | - editable = idEdit.getText(); | ||
| 212 | - } | ||
| 213 | - if (editable.length() > 0) { | ||
| 214 | - try { | ||
| 215 | - editable.delete(index - 1, index); | ||
| 216 | - } catch (Exception e) { | ||
| 217 | - if (editable.length() > 0) { | ||
| 218 | - editable.delete(index, index + 1); | ||
| 219 | - } | ||
| 220 | - } | ||
| 221 | - } | ||
| 222 | - break; | ||
| 223 | - default: | ||
| 224 | - if (editable.length() < 18) { | ||
| 225 | - editable.insert(index, ((TextView) v).getText()); | ||
| 226 | - } | ||
| 227 | - break; | ||
| 228 | - } | ||
| 229 | - } | ||
| 230 | - | ||
| 231 | - @Override | ||
| 232 | - public boolean onKeyDown(int keyCode, KeyEvent event) { | ||
| 233 | - if (keyCode == KeyEvent.KEYCODE_BACK) { | ||
| 234 | - try { | ||
| 235 | - CommetryUtils.releaseCommery(this); | ||
| 236 | - } catch (Exception e) { | ||
| 237 | - e.printStackTrace(); | ||
| 238 | - } | ||
| 239 | - | ||
| 240 | - finish(); | ||
| 241 | - | ||
| 242 | - } | ||
| 243 | - return false; | ||
| 244 | - } | ||
| 245 | - | ||
| 246 | - @Override | ||
| 247 | - protected void onDestroy() { | ||
| 248 | - super.onDestroy(); | ||
| 249 | - | ||
| 250 | - try { | ||
| 251 | - CommetryUtils.releaseCommery(this); | ||
| 252 | - } catch (Exception e) { | ||
| 253 | - e.printStackTrace(); | ||
| 254 | - } | ||
| 255 | - } | ||
| 256 | - | ||
| 257 | - @Override | ||
| 258 | - public void repeatAction() { | ||
| 259 | - int index = 0; | ||
| 260 | - Editable editable = null; | ||
| 261 | - if (idEdit.isFocused()) { | ||
| 262 | - index = idEdit.getSelectionStart(); | ||
| 263 | - editable = idEdit.getText(); | ||
| 264 | - } | ||
| 265 | - if (editable.length() > 0) { | ||
| 266 | - try { | ||
| 267 | - editable.delete(index - 1, index); | ||
| 268 | - } catch (Exception e) { | ||
| 269 | - if (editable.length() > 0) { | ||
| 270 | - editable.delete(index, index + 1); | ||
| 271 | - } | ||
| 272 | - } | ||
| 273 | - } | ||
| 274 | - } | ||
| 275 | - | ||
| 276 | - /**************************查询成功的情况下,清空输入框*****************************/ | ||
| 277 | - BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { | ||
| 278 | - @Override | ||
| 279 | - public void onReceive(Context context, Intent intent){ | ||
| 280 | - boolean sucess=intent.getExtras().getBoolean("sucess",false); | ||
| 281 | - if(sucess){ | ||
| 282 | - idEdit.setText(""); | ||
| 283 | - } | ||
| 284 | - } | ||
| 285 | - }; | 38 | + View.OnClickListener, LongClickRepeatListener { |
| 39 | + | ||
| 40 | + private String titleName; | ||
| 41 | + // 身份证 | ||
| 42 | + private EditText idEdit; | ||
| 43 | + private TextView one, two, three, four, five, six, seven, eight, nine, zero, | ||
| 44 | + X_btn, topBtns; | ||
| 45 | + private LongClickButton delete; | ||
| 46 | + private int tag; | ||
| 47 | + | ||
| 48 | + @Override | ||
| 49 | + protected void onCreate(Bundle savedInstanceState) { | ||
| 50 | + super.onCreate(savedInstanceState); | ||
| 51 | + setContentView(R.layout.app_input_idcard); | ||
| 52 | + ActivitiesManager.getInstance().pushActivity(this); | ||
| 53 | + initConfig(); | ||
| 54 | + initView(); | ||
| 55 | + initReceiver(); | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + private void initReceiver() { | ||
| 59 | + IntentFilter filter = new IntentFilter("cyt.idcard.action"); | ||
| 60 | + registerReceiver(broadcastReceiver, filter); | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | + private void initConfig() { | ||
| 64 | + tag = getIntent().getIntExtra("tag", -1); | ||
| 65 | + titleName = getIntent().getStringExtra("titleName"); | ||
| 66 | + if (tag == 0) { | ||
| 67 | + ((TextView) findViewById(R.id.title)) | ||
| 68 | + .setText(titleName == null ? getString(R.string.app_name) | ||
| 69 | + : getString(R.string.order_id) + titleName); | ||
| 70 | + | ||
| 71 | + } else { | ||
| 72 | + ((TextView) findViewById(R.id.title)) | ||
| 73 | + .setText(titleName == null ? getString(R.string.app_name) | ||
| 74 | + : titleName); | ||
| 75 | + } | ||
| 76 | + findViewById(R.id.topBack).setOnClickListener(new OnClickListener() { | ||
| 77 | + @Override | ||
| 78 | + public void onClick(View arg0) { | ||
| 79 | + finish(); | ||
| 80 | + } | ||
| 81 | + }); | ||
| 82 | + } | ||
| 83 | + | ||
| 84 | + @SuppressLint("NewApi") | ||
| 85 | + private void initView() { | ||
| 86 | + SharedPreferences2Obj.getInstance(InputIdCardActivity.this) | ||
| 87 | + .setName("SelectAction").setObject("isStatistic", "0"); // 非统计 | ||
| 88 | + titleName = getIntent().getStringExtra("titleName"); | ||
| 89 | + if (titleName != null) { | ||
| 90 | + ((TextView) findViewById(R.id.title)).setText(titleName); | ||
| 91 | + } else { | ||
| 92 | + ((TextView) findViewById(R.id.title)).setText(R.string.input_id); | ||
| 93 | + } | ||
| 94 | + ((TextView) findViewById(R.id.title)).setVisibility(View.VISIBLE); | ||
| 95 | + topBtns = (Button) findViewById(R.id.topBtns); | ||
| 96 | + topBtns.setVisibility(View.VISIBLE); | ||
| 97 | + | ||
| 98 | + idEdit = (EditText) findViewById(R.id.input_idcard); | ||
| 99 | + one = (TextView) findViewById(R.id.one); | ||
| 100 | + one.setOnClickListener(this); | ||
| 101 | + | ||
| 102 | + two = (TextView) findViewById(R.id.two); | ||
| 103 | + two.setOnClickListener(this); | ||
| 104 | + | ||
| 105 | + three = (TextView) findViewById(R.id.three); | ||
| 106 | + three.setOnClickListener(this); | ||
| 107 | + | ||
| 108 | + four = (TextView) findViewById(R.id.four); | ||
| 109 | + four.setOnClickListener(this); | ||
| 110 | + | ||
| 111 | + five = (TextView) findViewById(R.id.five); | ||
| 112 | + five.setOnClickListener(this); | ||
| 113 | + | ||
| 114 | + six = (TextView) findViewById(R.id.six); | ||
| 115 | + six.setOnClickListener(this); | ||
| 116 | + | ||
| 117 | + seven = (TextView) findViewById(R.id.seven); | ||
| 118 | + seven.setOnClickListener(this); | ||
| 119 | + | ||
| 120 | + eight = (TextView) findViewById(R.id.eight); | ||
| 121 | + eight.setOnClickListener(this); | ||
| 122 | + | ||
| 123 | + nine = (TextView) findViewById(R.id.nine); | ||
| 124 | + nine.setOnClickListener(this); | ||
| 125 | + | ||
| 126 | + zero = (TextView) findViewById(R.id.zero); | ||
| 127 | + zero.setOnClickListener(this); | ||
| 128 | + | ||
| 129 | + X_btn = (TextView) findViewById(R.id.X_btn); | ||
| 130 | + X_btn.setOnClickListener(this); | ||
| 131 | + | ||
| 132 | + delete = (LongClickButton) findViewById(R.id.delete); | ||
| 133 | + delete.setLongClickRepeatListener(this); | ||
| 134 | + delete.setOnClickListener(this); | ||
| 135 | + | ||
| 136 | + topBtns.setText(R.string.topbtn_ok); | ||
| 137 | + topBtns.setOnClickListener(this); | ||
| 138 | + | ||
| 139 | + if (tag == 0) { | ||
| 140 | + idEdit.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD); | ||
| 141 | + idEdit.setTransformationMethod(PasswordTransformationMethod | ||
| 142 | + .getInstance()); | ||
| 143 | + idEdit.setHint(R.string.ticket_counter_pwd); | ||
| 144 | + } | ||
| 145 | + | ||
| 146 | + if (android.os.Build.VERSION.SDK_INT >= 28) { | ||
| 147 | + try { | ||
| 148 | + idEdit.setShowSoftInputOnFocus(false); | ||
| 149 | + idEdit.requestFocus(); | ||
| 150 | + } catch (Exception e) { | ||
| 151 | + e.printStackTrace(); | ||
| 152 | + textViewShow(idEdit); | ||
| 153 | + } catch (Throwable e) { | ||
| 154 | + e.printStackTrace(); | ||
| 155 | + textViewShow(idEdit); | ||
| 156 | + } | ||
| 157 | + } else if (android.os.Build.VERSION.SDK_INT >= 11) { | ||
| 158 | + try { | ||
| 159 | + idEdit.setShowSoftInputOnFocus(false); | ||
| 160 | + } catch (Exception e) { | ||
| 161 | + e.printStackTrace(); | ||
| 162 | + textViewShow(idEdit); | ||
| 163 | + } catch (Throwable e) { | ||
| 164 | + e.printStackTrace(); | ||
| 165 | + textViewShow(idEdit); | ||
| 166 | + } | ||
| 167 | + } else { | ||
| 168 | + textViewShow(idEdit); | ||
| 169 | + } | ||
| 170 | + } | ||
| 171 | + | ||
| 172 | + private void textViewShow(EditText message) { | ||
| 173 | + | ||
| 174 | + if (android.os.Build.VERSION.SDK_INT <= 10) { | ||
| 175 | + message.setInputType(InputType.TYPE_NULL); | ||
| 176 | + } else { | ||
| 177 | + getWindow().setSoftInputMode( | ||
| 178 | + WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); | ||
| 179 | + try { | ||
| 180 | + Class<EditText> cls = EditText.class; | ||
| 181 | + Method setSoftInputShownOnFocus = cls.getMethod( | ||
| 182 | + "setSoftInputShownOnFocus", boolean.class); | ||
| 183 | + setSoftInputShownOnFocus.setAccessible(true); | ||
| 184 | + setSoftInputShownOnFocus.invoke(message, false); | ||
| 185 | + } catch (Exception e) { | ||
| 186 | + } | ||
| 187 | + } | ||
| 188 | + | ||
| 189 | + } | ||
| 190 | + | ||
| 191 | + @Override | ||
| 192 | + public void onClick(View v) { | ||
| 193 | + int index = 0; | ||
| 194 | + Editable editable = null; | ||
| 195 | + if (idEdit.isFocused()) { | ||
| 196 | + LogUtil.d(TAG, "获取到了焦点"); | ||
| 197 | + index = idEdit.getSelectionStart(); | ||
| 198 | + editable = idEdit.getText(); | ||
| 199 | + } | ||
| 200 | + | ||
| 201 | + switch (v.getId()) { | ||
| 202 | + case R.id.topBtns: | ||
| 203 | + String str = idEdit.getText().toString(); | ||
| 204 | + | ||
| 205 | + if (!RegexUtils.checkIdCard(str)) { | ||
| 206 | + MToast(InputIdCardActivity.this, | ||
| 207 | + getString(R.string.the_idcard_not_valid), | ||
| 208 | + MToast.LENGTH_SHORT); | ||
| 209 | + idEdit.setText(""); | ||
| 210 | + return; | ||
| 211 | + } | ||
| 212 | + Intent intent = new Intent(InputIdCardActivity.this, | ||
| 213 | + IDOrderListActivity.class); | ||
| 214 | + CountDownTimer.firstTime = new Date().getTime();// 不必要的可以删除 | ||
| 215 | + intent.putExtra("mode", 0); | ||
| 216 | + intent.putExtra("idcardNumber", str); | ||
| 217 | + intent.putExtra("titleName", getString(R.string.order_list)); | ||
| 218 | + startActivity(intent); | ||
| 219 | + | ||
| 220 | + break; | ||
| 221 | + case R.id.delete: | ||
| 222 | + if (idEdit.isFocused()) { | ||
| 223 | + index = idEdit.getSelectionStart(); | ||
| 224 | + editable = idEdit.getText(); | ||
| 225 | + } | ||
| 226 | + if (editable.length() > 0) { | ||
| 227 | + try { | ||
| 228 | + editable.delete(index - 1, index); | ||
| 229 | + } catch (Exception e) { | ||
| 230 | + if (editable.length() > 0) { | ||
| 231 | + editable.delete(index, index + 1); | ||
| 232 | + } | ||
| 233 | + } | ||
| 234 | + } | ||
| 235 | + break; | ||
| 236 | + default: | ||
| 237 | + if (editable.length() < 18) { | ||
| 238 | + editable.insert(index, ((TextView) v).getText()); | ||
| 239 | + } | ||
| 240 | + break; | ||
| 241 | + } | ||
| 242 | + } | ||
| 243 | + | ||
| 244 | + @Override | ||
| 245 | + public boolean onKeyDown(int keyCode, KeyEvent event) { | ||
| 246 | + if (keyCode == KeyEvent.KEYCODE_BACK) { | ||
| 247 | + try { | ||
| 248 | + CommetryUtils.releaseCommery(this); | ||
| 249 | + } catch (Exception e) { | ||
| 250 | + e.printStackTrace(); | ||
| 251 | + } | ||
| 252 | + | ||
| 253 | + finish(); | ||
| 254 | + | ||
| 255 | + } | ||
| 256 | + return false; | ||
| 257 | + } | ||
| 258 | + | ||
| 259 | + @Override | ||
| 260 | + protected void onDestroy() { | ||
| 261 | + super.onDestroy(); | ||
| 262 | + | ||
| 263 | + try { | ||
| 264 | + CommetryUtils.releaseCommery(this); | ||
| 265 | + } catch (Exception e) { | ||
| 266 | + e.printStackTrace(); | ||
| 267 | + } | ||
| 268 | + } | ||
| 269 | + | ||
| 270 | + @Override | ||
| 271 | + public void repeatAction() { | ||
| 272 | + int index = 0; | ||
| 273 | + Editable editable = null; | ||
| 274 | + if (idEdit.isFocused()) { | ||
| 275 | + index = idEdit.getSelectionStart(); | ||
| 276 | + editable = idEdit.getText(); | ||
| 277 | + } | ||
| 278 | + if (editable.length() > 0) { | ||
| 279 | + try { | ||
| 280 | + editable.delete(index - 1, index); | ||
| 281 | + } catch (Exception e) { | ||
| 282 | + if (editable.length() > 0) { | ||
| 283 | + editable.delete(index, index + 1); | ||
| 284 | + } | ||
| 285 | + } | ||
| 286 | + } | ||
| 287 | + } | ||
| 288 | + | ||
| 289 | + /**************************查询成功的情况下,清空输入框*****************************/ | ||
| 290 | + BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { | ||
| 291 | + @Override | ||
| 292 | + public void onReceive(Context context, Intent intent) { | ||
| 293 | + boolean sucess = intent.getExtras().getBoolean("sucess", false); | ||
| 294 | + if (sucess) { | ||
| 295 | + idEdit.setText(""); | ||
| 296 | + } | ||
| 297 | + } | ||
| 298 | + }; | ||
| 286 | } | 299 | } |
src/com/ectrip/cyt/ui/InputOridActivity.java
| @@ -28,279 +28,292 @@ import com.ectrip.trips.view.LongClickButton.LongClickRepeatListener; | @@ -28,279 +28,292 @@ import com.ectrip.trips.view.LongClickButton.LongClickRepeatListener; | ||
| 28 | 28 | ||
| 29 | /** | 29 | /** |
| 30 | * @author jigo 输入订单 | 30 | * @author jigo 输入订单 |
| 31 | - * | ||
| 32 | */ | 31 | */ |
| 33 | public class InputOridActivity extends BaseActivity implements | 32 | public class InputOridActivity extends BaseActivity implements |
| 34 | - View.OnClickListener, LongClickRepeatListener { | 33 | + View.OnClickListener, LongClickRepeatListener { |
| 35 | 34 | ||
| 36 | - private String titleName; | 35 | + private String titleName; |
| 37 | 36 | ||
| 38 | - private EditText oridEdit, pwdEdit; | 37 | + private EditText oridEdit, pwdEdit; |
| 39 | 38 | ||
| 40 | - private TextView two, three, four, five, six, seven, eight, nine, zero, | ||
| 41 | - X_btn, topBtns; | ||
| 42 | - private LongClickButton delete; | ||
| 43 | - private TextView one; | ||
| 44 | - private View one_layout; | 39 | + private TextView two, three, four, five, six, seven, eight, nine, zero, |
| 40 | + X_btn, topBtns; | ||
| 41 | + private LongClickButton delete; | ||
| 42 | + private TextView one; | ||
| 43 | + private View one_layout; | ||
| 45 | 44 | ||
| 46 | - @Override | ||
| 47 | - protected void onCreate(Bundle savedInstanceState) { | ||
| 48 | - super.onCreate(savedInstanceState); | ||
| 49 | - setContentView(R.layout.app_input_orid); | ||
| 50 | - ActivitiesManager.getInstance().pushActivity(this); | ||
| 51 | - initConfig(); | ||
| 52 | - initView(); | ||
| 53 | - initReceiver(); | ||
| 54 | - } | 45 | + @Override |
| 46 | + protected void onCreate(Bundle savedInstanceState) { | ||
| 47 | + super.onCreate(savedInstanceState); | ||
| 48 | + setContentView(R.layout.app_input_orid); | ||
| 49 | + ActivitiesManager.getInstance().pushActivity(this); | ||
| 50 | + initConfig(); | ||
| 51 | + initView(); | ||
| 52 | + initReceiver(); | ||
| 53 | + } | ||
| 55 | 54 | ||
| 56 | - private void initReceiver() { | 55 | + private void initReceiver() { |
| 57 | // IntentFilter filter = new IntentFilter("cyt.orid.action"); | 56 | // IntentFilter filter = new IntentFilter("cyt.orid.action"); |
| 58 | // registerReceiver(broadcastReceiver, filter); | 57 | // registerReceiver(broadcastReceiver, filter); |
| 59 | - } | ||
| 60 | - | ||
| 61 | - private void textViewShow(EditText message) { | ||
| 62 | - | ||
| 63 | - if (android.os.Build.VERSION.SDK_INT <= 10) { | ||
| 64 | - message.setInputType(InputType.TYPE_NULL); | ||
| 65 | - } else { | ||
| 66 | - getWindow().setSoftInputMode( | ||
| 67 | - WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); | ||
| 68 | - try { | ||
| 69 | - Class<EditText> cls = EditText.class; | ||
| 70 | - Method setSoftInputShownOnFocus = cls.getMethod( | ||
| 71 | - "setSoftInputShownOnFocus", boolean.class); | ||
| 72 | - setSoftInputShownOnFocus.setAccessible(true); | ||
| 73 | - setSoftInputShownOnFocus.invoke(message, false); | ||
| 74 | - } catch (Exception e) { | ||
| 75 | - } | ||
| 76 | - } | ||
| 77 | - | ||
| 78 | - } | ||
| 79 | - | ||
| 80 | - private void initConfig() { | ||
| 81 | - titleName = getIntent().getStringExtra("titleName"); | ||
| 82 | - ((TextView) findViewById(R.id.title)) | ||
| 83 | - .setText(titleName == null ? getString(R.string.app_name) | ||
| 84 | - : titleName); | ||
| 85 | - findViewById(R.id.topBack).setOnClickListener(new OnClickListener() { | ||
| 86 | - | ||
| 87 | - @Override | ||
| 88 | - public void onClick(View arg0) { | ||
| 89 | - finish(); | ||
| 90 | - } | ||
| 91 | - }); | ||
| 92 | - } | ||
| 93 | - | ||
| 94 | - @SuppressLint("NewApi") | ||
| 95 | - private void initView() { | ||
| 96 | - SharedPreferences2Obj.getInstance(InputOridActivity.this) | ||
| 97 | - .setName("SelectAction").setObject("isStatistic", "0"); // 非统计 | ||
| 98 | - titleName = getIntent().getStringExtra("titleName"); | ||
| 99 | - if (titleName != null) { | ||
| 100 | - ((TextView) findViewById(R.id.title)).setText(titleName); | ||
| 101 | - } else { | ||
| 102 | - ((TextView) findViewById(R.id.title)) | ||
| 103 | - .setText(R.string.input_order_id); | ||
| 104 | - } | ||
| 105 | - ((TextView) findViewById(R.id.title)).setVisibility(View.VISIBLE); | ||
| 106 | - oridEdit = (EditText) findViewById(R.id.input_orid); | ||
| 107 | - pwdEdit = (EditText) findViewById(R.id.input_pwd); | ||
| 108 | - int Select = SharedPreferences2Obj.getInstance(InputOridActivity.this) | ||
| 109 | - .setName("SelectAction").getObject("Select", Integer.class); | ||
| 110 | - if (Select == 2) { | ||
| 111 | - findViewById(R.id.layout02).setVisibility(View.GONE); | ||
| 112 | - findViewById(R.id.line).setVisibility(View.GONE); | ||
| 113 | - pwdEdit.setVisibility(View.GONE); | ||
| 114 | - findViewById(R.id.pwdText).setVisibility(View.GONE); | ||
| 115 | - } | ||
| 116 | - | ||
| 117 | - topBtns = (Button) findViewById(R.id.topBtns); | ||
| 118 | - topBtns.setVisibility(View.VISIBLE); | ||
| 119 | - one = (TextView) findViewById(R.id.one); | ||
| 120 | - one.setOnClickListener(this); | ||
| 121 | - // one.setTextColor(0X00000000); | ||
| 122 | - | ||
| 123 | - one_layout = findViewById(R.id.one_layout); | ||
| 124 | - one_layout.setOnTouchListener(new OnTouchListener() { | ||
| 125 | - @SuppressLint("ClickableViewAccessibility") | ||
| 126 | - @Override | ||
| 127 | - public boolean onTouch(View arg0, MotionEvent arg1) { | ||
| 128 | - if (arg1.getAction() == MotionEvent.ACTION_DOWN) { | ||
| 129 | - arg0.setBackgroundColor(Color.BLACK); | ||
| 130 | - return false; | ||
| 131 | - } else if (arg1.getAction() == MotionEvent.ACTION_UP) { | ||
| 132 | - arg0.setBackgroundColor(Color.WHITE); | ||
| 133 | - return false; | ||
| 134 | - } | ||
| 135 | - return false; | ||
| 136 | - } | ||
| 137 | - }); | ||
| 138 | - | ||
| 139 | - two = (TextView) findViewById(R.id.two); | ||
| 140 | - two.setOnClickListener(this); | ||
| 141 | - | ||
| 142 | - three = (TextView) findViewById(R.id.three); | ||
| 143 | - three.setOnClickListener(this); | ||
| 144 | - | ||
| 145 | - four = (TextView) findViewById(R.id.four); | ||
| 146 | - four.setOnClickListener(this); | ||
| 147 | - | ||
| 148 | - five = (TextView) findViewById(R.id.five); | ||
| 149 | - five.setOnClickListener(this); | ||
| 150 | - | ||
| 151 | - six = (TextView) findViewById(R.id.six); | ||
| 152 | - six.setOnClickListener(this); | ||
| 153 | - | ||
| 154 | - seven = (TextView) findViewById(R.id.seven); | ||
| 155 | - seven.setOnClickListener(this); | ||
| 156 | - | ||
| 157 | - eight = (TextView) findViewById(R.id.eight); | ||
| 158 | - eight.setOnClickListener(this); | ||
| 159 | - | ||
| 160 | - nine = (TextView) findViewById(R.id.nine); | ||
| 161 | - nine.setOnClickListener(this); | ||
| 162 | - | ||
| 163 | - zero = (TextView) findViewById(R.id.zero); | ||
| 164 | - zero.setOnClickListener(this); | ||
| 165 | - | ||
| 166 | - X_btn = (TextView) findViewById(R.id.X_btn); | ||
| 167 | - X_btn.setOnClickListener(this); | ||
| 168 | - | ||
| 169 | - delete = (LongClickButton) findViewById(R.id.delete); | ||
| 170 | - delete.setLongClickRepeatListener(this); | ||
| 171 | - delete.setOnClickListener(this); | ||
| 172 | - | ||
| 173 | - topBtns.setText(getString(R.string.topbtn_ok)); | ||
| 174 | - topBtns.setOnClickListener(this); | ||
| 175 | - | ||
| 176 | - textViewShow(oridEdit); | ||
| 177 | - if (Select != 2) { | ||
| 178 | - textViewShow(pwdEdit); | ||
| 179 | - } | ||
| 180 | - | ||
| 181 | - if (android.os.Build.VERSION.SDK_INT >= 11) { | ||
| 182 | - try { | ||
| 183 | - oridEdit.setShowSoftInputOnFocus(false); | ||
| 184 | - pwdEdit.setShowSoftInputOnFocus(false); | ||
| 185 | - } catch (Exception e) { | ||
| 186 | - e.printStackTrace(); | ||
| 187 | - textViewShow(oridEdit); | ||
| 188 | - textViewShow(pwdEdit); | ||
| 189 | - } catch (Throwable e) { | ||
| 190 | - e.printStackTrace(); | ||
| 191 | - textViewShow(oridEdit); | ||
| 192 | - textViewShow(pwdEdit); | ||
| 193 | - } | ||
| 194 | - } else { | ||
| 195 | - textViewShow(oridEdit); | ||
| 196 | - textViewShow(pwdEdit); | ||
| 197 | - } | ||
| 198 | - } | ||
| 199 | - | ||
| 200 | - @Override | ||
| 201 | - public void onClick(View v) { | ||
| 202 | - int index = 0; | ||
| 203 | - Editable editable = null; | ||
| 204 | - | ||
| 205 | - if (oridEdit.isFocused()) { | ||
| 206 | - index = oridEdit.getSelectionStart(); | ||
| 207 | - editable = oridEdit.getText(); | ||
| 208 | - } else { | ||
| 209 | - index = pwdEdit.getSelectionStart(); | ||
| 210 | - editable = pwdEdit.getText(); | ||
| 211 | - } | ||
| 212 | - switch (v.getId()) { | ||
| 213 | - case R.id.topBtns: | ||
| 214 | - String input_oridStr = oridEdit.getText().toString().trim(); | ||
| 215 | - String input_pwdStr; | ||
| 216 | - int Select = SharedPreferences2Obj | ||
| 217 | - .getInstance(InputOridActivity.this) | ||
| 218 | - .setName("SelectAction").getObject("Select", Integer.class); | ||
| 219 | - if (Select != 2) { | ||
| 220 | - input_pwdStr = pwdEdit.getText().toString().trim(); | ||
| 221 | - } else { | ||
| 222 | - input_pwdStr = ""; | ||
| 223 | - } | ||
| 224 | - | ||
| 225 | - if (input_oridStr == null || "".equals(input_oridStr)) { | ||
| 226 | - MToast(InputOridActivity.this, | ||
| 227 | - getString(R.string.order_id_not_null), | ||
| 228 | - MToast.LENGTH_SHORT); | ||
| 229 | - return; | ||
| 230 | - } | ||
| 231 | - | ||
| 232 | - if (Select != 2) { | ||
| 233 | - if (input_pwdStr == null || "".equals(input_pwdStr)) { | ||
| 234 | - MToast(InputOridActivity.this, | ||
| 235 | - getString(R.string.pwd_not_null), | ||
| 236 | - MToast.LENGTH_SHORT); | ||
| 237 | - return; | ||
| 238 | - } | ||
| 239 | - } | ||
| 240 | - | ||
| 241 | - Intent intent = new Intent(InputOridActivity.this, | ||
| 242 | - InputOrderListActivity.class); | ||
| 243 | - intent.putExtra("input_orid", input_oridStr); | ||
| 244 | - intent.putExtra("input_pwd", input_pwdStr); | ||
| 245 | - intent.putExtra("titleName", getString(R.string.show_result)); | ||
| 246 | - intent.putExtra("mode", 2); | ||
| 247 | - startActivity(intent); | ||
| 248 | - | ||
| 249 | - break; | ||
| 250 | - case R.id.delete: | ||
| 251 | - if (editable.length() > 0) { | ||
| 252 | - try { | ||
| 253 | - editable.delete(index - 1, index); | ||
| 254 | - } catch (Exception e) { | ||
| 255 | - if (editable.length() > 0) { | ||
| 256 | - editable.delete(index, index + 1); | ||
| 257 | - } | ||
| 258 | - } | ||
| 259 | - } | ||
| 260 | - break; | ||
| 261 | - default: | ||
| 262 | - | ||
| 263 | - if (editable.length() < 18) { | ||
| 264 | - editable.insert(index, ((TextView) v).getText()); | ||
| 265 | - } | ||
| 266 | - break; | ||
| 267 | - | ||
| 268 | - } | ||
| 269 | - } | ||
| 270 | - | ||
| 271 | - @Override | ||
| 272 | - public boolean onKeyDown(int keyCode, KeyEvent event) { | ||
| 273 | - if (keyCode == KeyEvent.KEYCODE_BACK) { | ||
| 274 | - try { | ||
| 275 | - CommetryUtils.releaseCommery(this); | ||
| 276 | - } catch (Exception e) { | ||
| 277 | - e.printStackTrace(); | ||
| 278 | - } | ||
| 279 | - finish(); | ||
| 280 | - } | ||
| 281 | - return false; | ||
| 282 | - } | ||
| 283 | - | ||
| 284 | - @Override | ||
| 285 | - public void repeatAction() { | ||
| 286 | - int index = 0; | ||
| 287 | - Editable editable = null; | ||
| 288 | - | ||
| 289 | - if (oridEdit.isFocused()) { | ||
| 290 | - index = oridEdit.getSelectionStart(); | ||
| 291 | - editable = oridEdit.getText(); | ||
| 292 | - } else { | ||
| 293 | - index = pwdEdit.getSelectionStart(); | ||
| 294 | - editable = pwdEdit.getText(); | ||
| 295 | - } | ||
| 296 | - if (editable.length() > 0) { | ||
| 297 | - try { | ||
| 298 | - editable.delete(index - 1, index); | ||
| 299 | - } catch (Exception e) { | ||
| 300 | - if (editable.length() > 0) { | ||
| 301 | - editable.delete(index, index + 1); | ||
| 302 | - } | ||
| 303 | - } | ||
| 304 | - } | ||
| 305 | - } | 58 | + } |
| 59 | + | ||
| 60 | + private void textViewShow(EditText message) { | ||
| 61 | + | ||
| 62 | + if (android.os.Build.VERSION.SDK_INT <= 10) { | ||
| 63 | + message.setInputType(InputType.TYPE_NULL); | ||
| 64 | + } else { | ||
| 65 | + getWindow().setSoftInputMode( | ||
| 66 | + WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); | ||
| 67 | + try { | ||
| 68 | + Class<EditText> cls = EditText.class; | ||
| 69 | + Method setSoftInputShownOnFocus = cls.getMethod( | ||
| 70 | + "setSoftInputShownOnFocus", boolean.class); | ||
| 71 | + setSoftInputShownOnFocus.setAccessible(true); | ||
| 72 | + setSoftInputShownOnFocus.invoke(message, false); | ||
| 73 | + } catch (Exception e) { | ||
| 74 | + } | ||
| 75 | + } | ||
| 76 | + | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | + private void initConfig() { | ||
| 80 | + titleName = getIntent().getStringExtra("titleName"); | ||
| 81 | + ((TextView) findViewById(R.id.title)) | ||
| 82 | + .setText(titleName == null ? getString(R.string.app_name) | ||
| 83 | + : titleName); | ||
| 84 | + findViewById(R.id.topBack).setOnClickListener(new OnClickListener() { | ||
| 85 | + | ||
| 86 | + @Override | ||
| 87 | + public void onClick(View arg0) { | ||
| 88 | + finish(); | ||
| 89 | + } | ||
| 90 | + }); | ||
| 91 | + } | ||
| 92 | + | ||
| 93 | + @SuppressLint("NewApi") | ||
| 94 | + private void initView() { | ||
| 95 | + SharedPreferences2Obj.getInstance(InputOridActivity.this) | ||
| 96 | + .setName("SelectAction").setObject("isStatistic", "0"); // 非统计 | ||
| 97 | + titleName = getIntent().getStringExtra("titleName"); | ||
| 98 | + if (titleName != null) { | ||
| 99 | + ((TextView) findViewById(R.id.title)).setText(titleName); | ||
| 100 | + } else { | ||
| 101 | + ((TextView) findViewById(R.id.title)) | ||
| 102 | + .setText(R.string.input_order_id); | ||
| 103 | + } | ||
| 104 | + ((TextView) findViewById(R.id.title)).setVisibility(View.VISIBLE); | ||
| 105 | + oridEdit = (EditText) findViewById(R.id.input_orid); | ||
| 106 | + pwdEdit = (EditText) findViewById(R.id.input_pwd); | ||
| 107 | + int Select = SharedPreferences2Obj.getInstance(InputOridActivity.this) | ||
| 108 | + .setName("SelectAction").getObject("Select", Integer.class); | ||
| 109 | + if (Select == 2) { | ||
| 110 | + findViewById(R.id.layout02).setVisibility(View.GONE); | ||
| 111 | + findViewById(R.id.line).setVisibility(View.GONE); | ||
| 112 | + pwdEdit.setVisibility(View.GONE); | ||
| 113 | + findViewById(R.id.pwdText).setVisibility(View.GONE); | ||
| 114 | + } | ||
| 115 | + | ||
| 116 | + topBtns = (Button) findViewById(R.id.topBtns); | ||
| 117 | + topBtns.setVisibility(View.VISIBLE); | ||
| 118 | + one = (TextView) findViewById(R.id.one); | ||
| 119 | + one.setOnClickListener(this); | ||
| 120 | + // one.setTextColor(0X00000000); | ||
| 121 | + | ||
| 122 | + one_layout = findViewById(R.id.one_layout); | ||
| 123 | + one_layout.setOnTouchListener(new OnTouchListener() { | ||
| 124 | + @SuppressLint("ClickableViewAccessibility") | ||
| 125 | + @Override | ||
| 126 | + public boolean onTouch(View arg0, MotionEvent arg1) { | ||
| 127 | + if (arg1.getAction() == MotionEvent.ACTION_DOWN) { | ||
| 128 | + arg0.setBackgroundColor(Color.BLACK); | ||
| 129 | + return false; | ||
| 130 | + } else if (arg1.getAction() == MotionEvent.ACTION_UP) { | ||
| 131 | + arg0.setBackgroundColor(Color.WHITE); | ||
| 132 | + return false; | ||
| 133 | + } | ||
| 134 | + return false; | ||
| 135 | + } | ||
| 136 | + }); | ||
| 137 | + | ||
| 138 | + two = (TextView) findViewById(R.id.two); | ||
| 139 | + two.setOnClickListener(this); | ||
| 140 | + | ||
| 141 | + three = (TextView) findViewById(R.id.three); | ||
| 142 | + three.setOnClickListener(this); | ||
| 143 | + | ||
| 144 | + four = (TextView) findViewById(R.id.four); | ||
| 145 | + four.setOnClickListener(this); | ||
| 146 | + | ||
| 147 | + five = (TextView) findViewById(R.id.five); | ||
| 148 | + five.setOnClickListener(this); | ||
| 149 | + | ||
| 150 | + six = (TextView) findViewById(R.id.six); | ||
| 151 | + six.setOnClickListener(this); | ||
| 152 | + | ||
| 153 | + seven = (TextView) findViewById(R.id.seven); | ||
| 154 | + seven.setOnClickListener(this); | ||
| 155 | + | ||
| 156 | + eight = (TextView) findViewById(R.id.eight); | ||
| 157 | + eight.setOnClickListener(this); | ||
| 158 | + | ||
| 159 | + nine = (TextView) findViewById(R.id.nine); | ||
| 160 | + nine.setOnClickListener(this); | ||
| 161 | + | ||
| 162 | + zero = (TextView) findViewById(R.id.zero); | ||
| 163 | + zero.setOnClickListener(this); | ||
| 164 | + | ||
| 165 | + X_btn = (TextView) findViewById(R.id.X_btn); | ||
| 166 | + X_btn.setOnClickListener(this); | ||
| 167 | + | ||
| 168 | + delete = (LongClickButton) findViewById(R.id.delete); | ||
| 169 | + delete.setLongClickRepeatListener(this); | ||
| 170 | + delete.setOnClickListener(this); | ||
| 171 | + | ||
| 172 | + topBtns.setText(getString(R.string.topbtn_ok)); | ||
| 173 | + topBtns.setOnClickListener(this); | ||
| 174 | + | ||
| 175 | + textViewShow(oridEdit); | ||
| 176 | + if (Select != 2) { | ||
| 177 | + textViewShow(pwdEdit); | ||
| 178 | + } | ||
| 179 | + | ||
| 180 | + if (android.os.Build.VERSION.SDK_INT >= 28) { | ||
| 181 | + try { | ||
| 182 | + oridEdit.setShowSoftInputOnFocus(false); | ||
| 183 | + pwdEdit.setShowSoftInputOnFocus(false); | ||
| 184 | + oridEdit.requestFocus(); | ||
| 185 | + } catch (Exception e) { | ||
| 186 | + e.printStackTrace(); | ||
| 187 | + textViewShow(oridEdit); | ||
| 188 | + textViewShow(pwdEdit); | ||
| 189 | + } catch (Throwable e) { | ||
| 190 | + e.printStackTrace(); | ||
| 191 | + textViewShow(oridEdit); | ||
| 192 | + textViewShow(pwdEdit); | ||
| 193 | + } | ||
| 194 | + } else if (android.os.Build.VERSION.SDK_INT >= 11) { | ||
| 195 | + try { | ||
| 196 | + oridEdit.setShowSoftInputOnFocus(false); | ||
| 197 | + pwdEdit.setShowSoftInputOnFocus(false); | ||
| 198 | + } catch (Exception e) { | ||
| 199 | + e.printStackTrace(); | ||
| 200 | + textViewShow(oridEdit); | ||
| 201 | + textViewShow(pwdEdit); | ||
| 202 | + } catch (Throwable e) { | ||
| 203 | + e.printStackTrace(); | ||
| 204 | + textViewShow(oridEdit); | ||
| 205 | + textViewShow(pwdEdit); | ||
| 206 | + } | ||
| 207 | + } else { | ||
| 208 | + textViewShow(oridEdit); | ||
| 209 | + textViewShow(pwdEdit); | ||
| 210 | + } | ||
| 211 | + } | ||
| 212 | + | ||
| 213 | + @Override | ||
| 214 | + public void onClick(View v) { | ||
| 215 | + int index = 0; | ||
| 216 | + Editable editable = null; | ||
| 217 | + | ||
| 218 | + if (oridEdit.isFocused()) { | ||
| 219 | + index = oridEdit.getSelectionStart(); | ||
| 220 | + editable = oridEdit.getText(); | ||
| 221 | + } else { | ||
| 222 | + index = pwdEdit.getSelectionStart(); | ||
| 223 | + editable = pwdEdit.getText(); | ||
| 224 | + } | ||
| 225 | + switch (v.getId()) { | ||
| 226 | + case R.id.topBtns: | ||
| 227 | + String input_oridStr = oridEdit.getText().toString().trim(); | ||
| 228 | + String input_pwdStr; | ||
| 229 | + int Select = SharedPreferences2Obj | ||
| 230 | + .getInstance(InputOridActivity.this) | ||
| 231 | + .setName("SelectAction").getObject("Select", Integer.class); | ||
| 232 | + if (Select != 2) { | ||
| 233 | + input_pwdStr = pwdEdit.getText().toString().trim(); | ||
| 234 | + } else { | ||
| 235 | + input_pwdStr = ""; | ||
| 236 | + } | ||
| 237 | + | ||
| 238 | + if (input_oridStr == null || "".equals(input_oridStr)) { | ||
| 239 | + MToast(InputOridActivity.this, | ||
| 240 | + getString(R.string.order_id_not_null), | ||
| 241 | + MToast.LENGTH_SHORT); | ||
| 242 | + return; | ||
| 243 | + } | ||
| 244 | + | ||
| 245 | + if (Select != 2) { | ||
| 246 | + if (input_pwdStr == null || "".equals(input_pwdStr)) { | ||
| 247 | + MToast(InputOridActivity.this, | ||
| 248 | + getString(R.string.pwd_not_null), | ||
| 249 | + MToast.LENGTH_SHORT); | ||
| 250 | + return; | ||
| 251 | + } | ||
| 252 | + } | ||
| 253 | + | ||
| 254 | + Intent intent = new Intent(InputOridActivity.this, | ||
| 255 | + InputOrderListActivity.class); | ||
| 256 | + intent.putExtra("input_orid", input_oridStr); | ||
| 257 | + intent.putExtra("input_pwd", input_pwdStr); | ||
| 258 | + intent.putExtra("titleName", getString(R.string.show_result)); | ||
| 259 | + intent.putExtra("mode", 2); | ||
| 260 | + startActivity(intent); | ||
| 261 | + | ||
| 262 | + break; | ||
| 263 | + case R.id.delete: | ||
| 264 | + if (editable.length() > 0) { | ||
| 265 | + try { | ||
| 266 | + editable.delete(index - 1, index); | ||
| 267 | + } catch (Exception e) { | ||
| 268 | + if (editable.length() > 0) { | ||
| 269 | + editable.delete(index, index + 1); | ||
| 270 | + } | ||
| 271 | + } | ||
| 272 | + } | ||
| 273 | + break; | ||
| 274 | + default: | ||
| 275 | + | ||
| 276 | + if (editable.length() < 18) { | ||
| 277 | + editable.insert(index, ((TextView) v).getText()); | ||
| 278 | + } | ||
| 279 | + break; | ||
| 280 | + | ||
| 281 | + } | ||
| 282 | + } | ||
| 283 | + | ||
| 284 | + @Override | ||
| 285 | + public boolean onKeyDown(int keyCode, KeyEvent event) { | ||
| 286 | + if (keyCode == KeyEvent.KEYCODE_BACK) { | ||
| 287 | + try { | ||
| 288 | + CommetryUtils.releaseCommery(this); | ||
| 289 | + } catch (Exception e) { | ||
| 290 | + e.printStackTrace(); | ||
| 291 | + } | ||
| 292 | + finish(); | ||
| 293 | + } | ||
| 294 | + return false; | ||
| 295 | + } | ||
| 296 | + | ||
| 297 | + @Override | ||
| 298 | + public void repeatAction() { | ||
| 299 | + int index = 0; | ||
| 300 | + Editable editable = null; | ||
| 301 | + | ||
| 302 | + if (oridEdit.isFocused()) { | ||
| 303 | + index = oridEdit.getSelectionStart(); | ||
| 304 | + editable = oridEdit.getText(); | ||
| 305 | + } else { | ||
| 306 | + index = pwdEdit.getSelectionStart(); | ||
| 307 | + editable = pwdEdit.getText(); | ||
| 308 | + } | ||
| 309 | + if (editable.length() > 0) { | ||
| 310 | + try { | ||
| 311 | + editable.delete(index - 1, index); | ||
| 312 | + } catch (Exception e) { | ||
| 313 | + if (editable.length() > 0) { | ||
| 314 | + editable.delete(index, index + 1); | ||
| 315 | + } | ||
| 316 | + } | ||
| 317 | + } | ||
| 318 | + } | ||
| 306 | } | 319 | } |
src/com/ectrip/cyt/ui/InputPhoneActivity.java
| @@ -31,244 +31,256 @@ import com.ectrip.trips.view.LongClickButton.LongClickRepeatListener; | @@ -31,244 +31,256 @@ import com.ectrip.trips.view.LongClickButton.LongClickRepeatListener; | ||
| 31 | * 手机号输入界面 | 31 | * 手机号输入界面 |
| 32 | */ | 32 | */ |
| 33 | public class InputPhoneActivity extends BaseActivity implements | 33 | public class InputPhoneActivity extends BaseActivity implements |
| 34 | - View.OnClickListener, LongClickRepeatListener { | 34 | + View.OnClickListener, LongClickRepeatListener { |
| 35 | 35 | ||
| 36 | - private String titleName; | ||
| 37 | - private EditText phoneEdit;// 手机号 | ||
| 38 | - private TextView one, two, three, four, five, six, seven, eight, nine, | ||
| 39 | - zero, X_btn, topBtns; | ||
| 40 | - private LongClickButton delete; | 36 | + private String titleName; |
| 37 | + private EditText phoneEdit;// 手机号 | ||
| 38 | + private TextView one, two, three, four, five, six, seven, eight, nine, | ||
| 39 | + zero, X_btn, topBtns; | ||
| 40 | + private LongClickButton delete; | ||
| 41 | 41 | ||
| 42 | - @Override | ||
| 43 | - protected void onCreate(Bundle savedInstanceState) { | ||
| 44 | - super.onCreate(savedInstanceState); | ||
| 45 | - setContentView(R.layout.app_input_idcard); | ||
| 46 | - ActivitiesManager.getInstance().pushActivity(this); | ||
| 47 | - initView(); | ||
| 48 | - initReceiver(); | ||
| 49 | - } | 42 | + @Override |
| 43 | + protected void onCreate(Bundle savedInstanceState) { | ||
| 44 | + super.onCreate(savedInstanceState); | ||
| 45 | + setContentView(R.layout.app_input_idcard); | ||
| 46 | + ActivitiesManager.getInstance().pushActivity(this); | ||
| 47 | + initView(); | ||
| 48 | + initReceiver(); | ||
| 49 | + } | ||
| 50 | 50 | ||
| 51 | - private void initReceiver() { | ||
| 52 | - IntentFilter filter = new IntentFilter("cyt.phone.action"); | ||
| 53 | - registerReceiver(broadcastReceiver,filter); | ||
| 54 | - } | 51 | + private void initReceiver() { |
| 52 | + IntentFilter filter = new IntentFilter("cyt.phone.action"); | ||
| 53 | + registerReceiver(broadcastReceiver, filter); | ||
| 54 | + } | ||
| 55 | 55 | ||
| 56 | - @Override | ||
| 57 | - protected void onPause() { | ||
| 58 | - super.onPause(); | 56 | + @Override |
| 57 | + protected void onPause() { | ||
| 58 | + super.onPause(); | ||
| 59 | 59 | ||
| 60 | 60 | ||
| 61 | // unregisterReceiver(broadcastReceiver); | 61 | // unregisterReceiver(broadcastReceiver); |
| 62 | - } | ||
| 63 | - @SuppressLint("NewApi") | ||
| 64 | - private void initView() { | ||
| 65 | - SharedPreferences2Obj.getInstance(InputPhoneActivity.this) | ||
| 66 | - .setName("SelectAction").setObject("isStatistic", "0"); // 非统计 | ||
| 67 | - titleName = getIntent().getStringExtra("titleName"); | ||
| 68 | - if (titleName != null) { | ||
| 69 | - ((TextView) findViewById(R.id.title)).setText(titleName); | ||
| 70 | - } else { | ||
| 71 | - ((TextView) findViewById(R.id.title)).setText(R.string.input_phone); | ||
| 72 | - } | ||
| 73 | - ((TextView) findViewById(R.id.title)).setVisibility(View.VISIBLE); | ||
| 74 | - findViewById(R.id.topBack).setOnClickListener(new OnClickListener() { | ||
| 75 | - @Override | ||
| 76 | - public void onClick(View v) { | ||
| 77 | - finish(); | ||
| 78 | - } | ||
| 79 | - }); | ||
| 80 | - topBtns = (Button) findViewById(R.id.topBtns); | ||
| 81 | - topBtns.setVisibility(View.VISIBLE); | ||
| 82 | - | ||
| 83 | - phoneEdit = (EditText) findViewById(R.id.input_idcard); | ||
| 84 | - phoneEdit.setHint(R.string.input_phone); | ||
| 85 | - one = (TextView) findViewById(R.id.one); | ||
| 86 | - one.setOnClickListener(this); | ||
| 87 | - | ||
| 88 | - two = (TextView) findViewById(R.id.two); | ||
| 89 | - two.setOnClickListener(this); | ||
| 90 | - | ||
| 91 | - three = (TextView) findViewById(R.id.three); | ||
| 92 | - three.setOnClickListener(this); | ||
| 93 | - | ||
| 94 | - four = (TextView) findViewById(R.id.four); | ||
| 95 | - four.setOnClickListener(this); | ||
| 96 | - | ||
| 97 | - five = (TextView) findViewById(R.id.five); | ||
| 98 | - five.setOnClickListener(this); | ||
| 99 | - | ||
| 100 | - six = (TextView) findViewById(R.id.six); | ||
| 101 | - six.setOnClickListener(this); | ||
| 102 | - | ||
| 103 | - seven = (TextView) findViewById(R.id.seven); | ||
| 104 | - seven.setOnClickListener(this); | ||
| 105 | - | ||
| 106 | - eight = (TextView) findViewById(R.id.eight); | ||
| 107 | - eight.setOnClickListener(this); | ||
| 108 | - | ||
| 109 | - nine = (TextView) findViewById(R.id.nine); | ||
| 110 | - nine.setOnClickListener(this); | ||
| 111 | - | ||
| 112 | - zero = (TextView) findViewById(R.id.zero); | ||
| 113 | - zero.setOnClickListener(this); | ||
| 114 | - | ||
| 115 | - X_btn = (TextView) findViewById(R.id.X_btn); | ||
| 116 | - X_btn.setOnClickListener(this); | ||
| 117 | - | ||
| 118 | - delete = (LongClickButton) findViewById(R.id.delete); | ||
| 119 | - delete.setOnClickListener(this); | ||
| 120 | - delete.setLongClickRepeatListener(this); | ||
| 121 | - topBtns.setText(R.string.topbtn_ok); | ||
| 122 | - topBtns.setOnClickListener(this); | ||
| 123 | - | ||
| 124 | - if (android.os.Build.VERSION.SDK_INT > 14) { | ||
| 125 | - try { | ||
| 126 | - phoneEdit.setShowSoftInputOnFocus(false); | ||
| 127 | - } catch (Exception e) { | ||
| 128 | - e.printStackTrace(); | ||
| 129 | - textViewShow(phoneEdit); | ||
| 130 | - } catch (Throwable e) { | ||
| 131 | - e.printStackTrace(); | ||
| 132 | - textViewShow(phoneEdit); | ||
| 133 | - } | ||
| 134 | - } else { | ||
| 135 | - textViewShow(phoneEdit); | ||
| 136 | - } | ||
| 137 | - } | ||
| 138 | - | ||
| 139 | - private void textViewShow(EditText message) { | ||
| 140 | - | ||
| 141 | - if (android.os.Build.VERSION.SDK_INT <= 10) { | ||
| 142 | - message.setInputType(InputType.TYPE_NULL); | ||
| 143 | - } else { | ||
| 144 | - getWindow().setSoftInputMode( | ||
| 145 | - WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); | ||
| 146 | - try { | ||
| 147 | - Class<EditText> cls = EditText.class; | ||
| 148 | - Method setSoftInputShownOnFocus = cls.getMethod( | ||
| 149 | - "setSoftInputShownOnFocus", boolean.class); | ||
| 150 | - setSoftInputShownOnFocus.setAccessible(true); | ||
| 151 | - setSoftInputShownOnFocus.invoke(message, false); | ||
| 152 | - } catch (Exception e) { | ||
| 153 | - } | ||
| 154 | - } | ||
| 155 | - | ||
| 156 | - } | ||
| 157 | - | ||
| 158 | - @Override | ||
| 159 | - public void onClick(View v) { | ||
| 160 | - int index = 0; | ||
| 161 | - Editable editable = null; | ||
| 162 | - if (phoneEdit.isFocused()) { | ||
| 163 | - index = phoneEdit.getSelectionStart(); | ||
| 164 | - editable = phoneEdit.getText(); | ||
| 165 | - } | ||
| 166 | - | ||
| 167 | - switch (v.getId()) { | ||
| 168 | - case R.id.topBtns: | ||
| 169 | - String str = phoneEdit.getText().toString(); | ||
| 170 | - | ||
| 171 | - if (str == null) { | ||
| 172 | - MToast(InputPhoneActivity.this, | ||
| 173 | - getString(R.string.fill_in_phone), MToast.LENGTH_SHORT); | ||
| 174 | - return; | ||
| 175 | - } | ||
| 176 | - | ||
| 177 | - if (!isNumeric(str)) { | ||
| 178 | - MToast(InputPhoneActivity.this, | ||
| 179 | - getString(R.string.phone_incorrect), | ||
| 180 | - MToast.LENGTH_SHORT); | ||
| 181 | - return; | ||
| 182 | - } | ||
| 183 | - | ||
| 184 | - Intent intent = new Intent(InputPhoneActivity.this, | ||
| 185 | - PhoneOrderListActivity.class); | ||
| 186 | - intent.putExtra("mode", 0); | ||
| 187 | - intent.putExtra("mobile", str); | ||
| 188 | - intent.putExtra("titleName", getString(R.string.order_list)); | ||
| 189 | - startActivity(intent); | ||
| 190 | - break; | ||
| 191 | - case R.id.delete: | ||
| 192 | - if (editable.length() > 0) { | ||
| 193 | - try { | ||
| 194 | - editable.delete(index - 1, index); | ||
| 195 | - } catch (Exception e) { | ||
| 196 | - if (editable.length() > 0) { | ||
| 197 | - editable.delete(index, index + 1); | ||
| 198 | - } | ||
| 199 | - } | ||
| 200 | - } | ||
| 201 | - break; | ||
| 202 | - default: | ||
| 203 | - if (editable.length() < 18) { | ||
| 204 | - editable.insert(index, ((TextView) v).getText()); | ||
| 205 | - } | ||
| 206 | - break; | ||
| 207 | - } | ||
| 208 | - } | ||
| 209 | - | ||
| 210 | - public boolean isNumeric(String str) { | ||
| 211 | - Pattern pattern = Pattern.compile("[0-9]*"); | ||
| 212 | - if (pattern.matcher(str).matches() && str.length() == 11) { | ||
| 213 | - return true; | ||
| 214 | - } else { | ||
| 215 | - return false; | ||
| 216 | - } | ||
| 217 | - } | ||
| 218 | - | ||
| 219 | - @Override | ||
| 220 | - public boolean onKeyDown(int keyCode, KeyEvent event) { | ||
| 221 | - if (keyCode == KeyEvent.KEYCODE_BACK) { | ||
| 222 | - try { | ||
| 223 | - CommetryUtils.releaseCommery(this); | ||
| 224 | - } catch (Exception e) { | ||
| 225 | - e.printStackTrace(); | ||
| 226 | - } | ||
| 227 | - | ||
| 228 | - finish(); | ||
| 229 | - | ||
| 230 | - } | ||
| 231 | - return false; | ||
| 232 | - } | ||
| 233 | - | ||
| 234 | - @Override | ||
| 235 | - protected void onDestroy() { | ||
| 236 | - super.onDestroy(); | ||
| 237 | - unregisterReceiver(broadcastReceiver); | ||
| 238 | - try { | ||
| 239 | - CommetryUtils.releaseCommery(this); | ||
| 240 | - } catch (Exception e) { | ||
| 241 | - e.printStackTrace(); | ||
| 242 | - } | ||
| 243 | - } | ||
| 244 | - | ||
| 245 | - @Override | ||
| 246 | - public void repeatAction() { | ||
| 247 | - int index = 0; | ||
| 248 | - Editable editable = null; | ||
| 249 | - if (phoneEdit.isFocused()) { | ||
| 250 | - index = phoneEdit.getSelectionStart(); | ||
| 251 | - editable = phoneEdit.getText(); | ||
| 252 | - } | ||
| 253 | - if (editable.length() > 0) { | ||
| 254 | - try { | ||
| 255 | - editable.delete(index - 1, index); | ||
| 256 | - } catch (Exception e) { | ||
| 257 | - if (editable.length() > 0) { | ||
| 258 | - editable.delete(index, index + 1); | ||
| 259 | - } | ||
| 260 | - } | ||
| 261 | - } | ||
| 262 | - } | ||
| 263 | - | ||
| 264 | - /**************************查询成功的情况下,清空输入框*****************************/ | ||
| 265 | - BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { | ||
| 266 | - @Override | ||
| 267 | - public void onReceive(Context context, Intent intent){ | ||
| 268 | - boolean sucess=intent.getExtras().getBoolean("sucess",false); | ||
| 269 | - if(sucess){ | ||
| 270 | - phoneEdit.setText(""); | ||
| 271 | - } | ||
| 272 | - } | ||
| 273 | - }; | 62 | + } |
| 63 | + | ||
| 64 | + @SuppressLint("NewApi") | ||
| 65 | + private void initView() { | ||
| 66 | + SharedPreferences2Obj.getInstance(InputPhoneActivity.this) | ||
| 67 | + .setName("SelectAction").setObject("isStatistic", "0"); // 非统计 | ||
| 68 | + titleName = getIntent().getStringExtra("titleName"); | ||
| 69 | + if (titleName != null) { | ||
| 70 | + ((TextView) findViewById(R.id.title)).setText(titleName); | ||
| 71 | + } else { | ||
| 72 | + ((TextView) findViewById(R.id.title)).setText(R.string.input_phone); | ||
| 73 | + } | ||
| 74 | + ((TextView) findViewById(R.id.title)).setVisibility(View.VISIBLE); | ||
| 75 | + findViewById(R.id.topBack).setOnClickListener(new OnClickListener() { | ||
| 76 | + @Override | ||
| 77 | + public void onClick(View v) { | ||
| 78 | + finish(); | ||
| 79 | + } | ||
| 80 | + }); | ||
| 81 | + topBtns = (Button) findViewById(R.id.topBtns); | ||
| 82 | + topBtns.setVisibility(View.VISIBLE); | ||
| 83 | + | ||
| 84 | + phoneEdit = (EditText) findViewById(R.id.input_idcard); | ||
| 85 | + phoneEdit.setHint(R.string.input_phone); | ||
| 86 | + one = (TextView) findViewById(R.id.one); | ||
| 87 | + one.setOnClickListener(this); | ||
| 88 | + | ||
| 89 | + two = (TextView) findViewById(R.id.two); | ||
| 90 | + two.setOnClickListener(this); | ||
| 91 | + | ||
| 92 | + three = (TextView) findViewById(R.id.three); | ||
| 93 | + three.setOnClickListener(this); | ||
| 94 | + | ||
| 95 | + four = (TextView) findViewById(R.id.four); | ||
| 96 | + four.setOnClickListener(this); | ||
| 97 | + | ||
| 98 | + five = (TextView) findViewById(R.id.five); | ||
| 99 | + five.setOnClickListener(this); | ||
| 100 | + | ||
| 101 | + six = (TextView) findViewById(R.id.six); | ||
| 102 | + six.setOnClickListener(this); | ||
| 103 | + | ||
| 104 | + seven = (TextView) findViewById(R.id.seven); | ||
| 105 | + seven.setOnClickListener(this); | ||
| 106 | + | ||
| 107 | + eight = (TextView) findViewById(R.id.eight); | ||
| 108 | + eight.setOnClickListener(this); | ||
| 109 | + | ||
| 110 | + nine = (TextView) findViewById(R.id.nine); | ||
| 111 | + nine.setOnClickListener(this); | ||
| 112 | + | ||
| 113 | + zero = (TextView) findViewById(R.id.zero); | ||
| 114 | + zero.setOnClickListener(this); | ||
| 115 | + | ||
| 116 | + X_btn = (TextView) findViewById(R.id.X_btn); | ||
| 117 | + X_btn.setOnClickListener(this); | ||
| 118 | + | ||
| 119 | + delete = (LongClickButton) findViewById(R.id.delete); | ||
| 120 | + delete.setOnClickListener(this); | ||
| 121 | + delete.setLongClickRepeatListener(this); | ||
| 122 | + topBtns.setText(R.string.topbtn_ok); | ||
| 123 | + topBtns.setOnClickListener(this); | ||
| 124 | + | ||
| 125 | + if (android.os.Build.VERSION.SDK_INT >= 28) { | ||
| 126 | + try { | ||
| 127 | + phoneEdit.setShowSoftInputOnFocus(false); | ||
| 128 | + phoneEdit.requestFocus(); | ||
| 129 | + } catch (Exception e) { | ||
| 130 | + e.printStackTrace(); | ||
| 131 | + textViewShow(phoneEdit); | ||
| 132 | + } catch (Throwable e) { | ||
| 133 | + e.printStackTrace(); | ||
| 134 | + textViewShow(phoneEdit); | ||
| 135 | + } | ||
| 136 | + } else if (android.os.Build.VERSION.SDK_INT >= 11) { | ||
| 137 | + try { | ||
| 138 | + phoneEdit.setShowSoftInputOnFocus(false); | ||
| 139 | + } catch (Exception e) { | ||
| 140 | + e.printStackTrace(); | ||
| 141 | + textViewShow(phoneEdit); | ||
| 142 | + } catch (Throwable e) { | ||
| 143 | + e.printStackTrace(); | ||
| 144 | + textViewShow(phoneEdit); | ||
| 145 | + } | ||
| 146 | + } else { | ||
| 147 | + textViewShow(phoneEdit); | ||
| 148 | + } | ||
| 149 | + } | ||
| 150 | + | ||
| 151 | + private void textViewShow(EditText message) { | ||
| 152 | + | ||
| 153 | + if (android.os.Build.VERSION.SDK_INT <= 10) { | ||
| 154 | + message.setInputType(InputType.TYPE_NULL); | ||
| 155 | + } else { | ||
| 156 | + getWindow().setSoftInputMode( | ||
| 157 | + WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); | ||
| 158 | + try { | ||
| 159 | + Class<EditText> cls = EditText.class; | ||
| 160 | + Method setSoftInputShownOnFocus = cls.getMethod( | ||
| 161 | + "setSoftInputShownOnFocus", boolean.class); | ||
| 162 | + setSoftInputShownOnFocus.setAccessible(true); | ||
| 163 | + setSoftInputShownOnFocus.invoke(message, false); | ||
| 164 | + } catch (Exception e) { | ||
| 165 | + } | ||
| 166 | + } | ||
| 167 | + | ||
| 168 | + } | ||
| 169 | + | ||
| 170 | + @Override | ||
| 171 | + public void onClick(View v) { | ||
| 172 | + int index = 0; | ||
| 173 | + Editable editable = null; | ||
| 174 | + if (phoneEdit.isFocused()) { | ||
| 175 | + index = phoneEdit.getSelectionStart(); | ||
| 176 | + editable = phoneEdit.getText(); | ||
| 177 | + } | ||
| 178 | + | ||
| 179 | + switch (v.getId()) { | ||
| 180 | + case R.id.topBtns: | ||
| 181 | + String str = phoneEdit.getText().toString(); | ||
| 182 | + | ||
| 183 | + if (str == null) { | ||
| 184 | + MToast(InputPhoneActivity.this, | ||
| 185 | + getString(R.string.fill_in_phone), MToast.LENGTH_SHORT); | ||
| 186 | + return; | ||
| 187 | + } | ||
| 188 | + | ||
| 189 | + if (!isNumeric(str)) { | ||
| 190 | + MToast(InputPhoneActivity.this, | ||
| 191 | + getString(R.string.phone_incorrect), | ||
| 192 | + MToast.LENGTH_SHORT); | ||
| 193 | + return; | ||
| 194 | + } | ||
| 195 | + | ||
| 196 | + Intent intent = new Intent(InputPhoneActivity.this, | ||
| 197 | + PhoneOrderListActivity.class); | ||
| 198 | + intent.putExtra("mode", 0); | ||
| 199 | + intent.putExtra("mobile", str); | ||
| 200 | + intent.putExtra("titleName", getString(R.string.order_list)); | ||
| 201 | + startActivity(intent); | ||
| 202 | + break; | ||
| 203 | + case R.id.delete: | ||
| 204 | + if (editable.length() > 0) { | ||
| 205 | + try { | ||
| 206 | + editable.delete(index - 1, index); | ||
| 207 | + } catch (Exception e) { | ||
| 208 | + if (editable.length() > 0) { | ||
| 209 | + editable.delete(index, index + 1); | ||
| 210 | + } | ||
| 211 | + } | ||
| 212 | + } | ||
| 213 | + break; | ||
| 214 | + default: | ||
| 215 | + if (editable.length() < 18) { | ||
| 216 | + editable.insert(index, ((TextView) v).getText()); | ||
| 217 | + } | ||
| 218 | + break; | ||
| 219 | + } | ||
| 220 | + } | ||
| 221 | + | ||
| 222 | + public boolean isNumeric(String str) { | ||
| 223 | + Pattern pattern = Pattern.compile("[0-9]*"); | ||
| 224 | + if (pattern.matcher(str).matches() && str.length() == 11) { | ||
| 225 | + return true; | ||
| 226 | + } else { | ||
| 227 | + return false; | ||
| 228 | + } | ||
| 229 | + } | ||
| 230 | + | ||
| 231 | + @Override | ||
| 232 | + public boolean onKeyDown(int keyCode, KeyEvent event) { | ||
| 233 | + if (keyCode == KeyEvent.KEYCODE_BACK) { | ||
| 234 | + try { | ||
| 235 | + CommetryUtils.releaseCommery(this); | ||
| 236 | + } catch (Exception e) { | ||
| 237 | + e.printStackTrace(); | ||
| 238 | + } | ||
| 239 | + | ||
| 240 | + finish(); | ||
| 241 | + | ||
| 242 | + } | ||
| 243 | + return false; | ||
| 244 | + } | ||
| 245 | + | ||
| 246 | + @Override | ||
| 247 | + protected void onDestroy() { | ||
| 248 | + super.onDestroy(); | ||
| 249 | + unregisterReceiver(broadcastReceiver); | ||
| 250 | + try { | ||
| 251 | + CommetryUtils.releaseCommery(this); | ||
| 252 | + } catch (Exception e) { | ||
| 253 | + e.printStackTrace(); | ||
| 254 | + } | ||
| 255 | + } | ||
| 256 | + | ||
| 257 | + @Override | ||
| 258 | + public void repeatAction() { | ||
| 259 | + int index = 0; | ||
| 260 | + Editable editable = null; | ||
| 261 | + if (phoneEdit.isFocused()) { | ||
| 262 | + index = phoneEdit.getSelectionStart(); | ||
| 263 | + editable = phoneEdit.getText(); | ||
| 264 | + } | ||
| 265 | + if (editable.length() > 0) { | ||
| 266 | + try { | ||
| 267 | + editable.delete(index - 1, index); | ||
| 268 | + } catch (Exception e) { | ||
| 269 | + if (editable.length() > 0) { | ||
| 270 | + editable.delete(index, index + 1); | ||
| 271 | + } | ||
| 272 | + } | ||
| 273 | + } | ||
| 274 | + } | ||
| 275 | + | ||
| 276 | + /**************************查询成功的情况下,清空输入框*****************************/ | ||
| 277 | + BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { | ||
| 278 | + @Override | ||
| 279 | + public void onReceive(Context context, Intent intent) { | ||
| 280 | + boolean sucess = intent.getExtras().getBoolean("sucess", false); | ||
| 281 | + if (sucess) { | ||
| 282 | + phoneEdit.setText(""); | ||
| 283 | + } | ||
| 284 | + } | ||
| 285 | + }; | ||
| 274 | } | 286 | } |
src/com/ectrip/cyt/ui/SettingsActivity.java
| @@ -18,6 +18,7 @@ import android.net.wifi.WifiInfo; | @@ -18,6 +18,7 @@ import android.net.wifi.WifiInfo; | ||
| 18 | import android.net.wifi.WifiManager; | 18 | import android.net.wifi.WifiManager; |
| 19 | import android.os.Bundle; | 19 | import android.os.Bundle; |
| 20 | import android.os.IBinder; | 20 | import android.os.IBinder; |
| 21 | +import android.provider.Settings; | ||
| 21 | import android.text.InputType; | 22 | import android.text.InputType; |
| 22 | import android.text.TextUtils; | 23 | import android.text.TextUtils; |
| 23 | import android.view.KeyEvent; | 24 | import android.view.KeyEvent; |
src/com/ectrip/cyt/ui/WelcomeActivity.java
| 1 | package com.ectrip.cyt.ui; | 1 | package com.ectrip.cyt.ui; |
| 2 | 2 | ||
| 3 | import java.io.InputStream; | 3 | import java.io.InputStream; |
| 4 | +import java.util.ArrayList; | ||
| 5 | +import java.util.List; | ||
| 4 | import java.util.Timer; | 6 | import java.util.Timer; |
| 5 | import java.util.TimerTask; | 7 | import java.util.TimerTask; |
| 6 | 8 | ||
| 9 | +import android.Manifest; | ||
| 10 | +import android.app.AlertDialog; | ||
| 11 | +import android.content.DialogInterface; | ||
| 7 | import android.content.Intent; | 12 | import android.content.Intent; |
| 13 | +import android.content.pm.PackageManager; | ||
| 8 | import android.content.res.Configuration; | 14 | import android.content.res.Configuration; |
| 9 | import android.graphics.Bitmap; | 15 | import android.graphics.Bitmap; |
| 10 | import android.graphics.BitmapFactory; | 16 | import android.graphics.BitmapFactory; |
| 17 | +import android.net.Uri; | ||
| 18 | +import android.os.Build; | ||
| 11 | import android.os.Bundle; | 19 | import android.os.Bundle; |
| 20 | +import android.os.Environment; | ||
| 21 | +import android.provider.Settings; | ||
| 22 | +//import android.support.v4.app.ActivityCompat; | ||
| 23 | +//import android.support.v4.content.ContextCompat; | ||
| 24 | +import android.support.annotation.NonNull; | ||
| 25 | +import android.support.annotation.Nullable; | ||
| 26 | +import android.support.annotation.RequiresApi; | ||
| 27 | +import android.support.v4.app.ActivityCompat; | ||
| 28 | +import android.support.v4.content.ContextCompat; | ||
| 12 | import android.view.KeyEvent; | 29 | import android.view.KeyEvent; |
| 13 | import android.widget.ImageView; | 30 | import android.widget.ImageView; |
| 14 | import android.widget.ImageView.ScaleType; | 31 | import android.widget.ImageView.ScaleType; |
| 32 | +import android.widget.Toast; | ||
| 15 | 33 | ||
| 16 | import com.ectrip.cyt.constant.LogoType; | 34 | import com.ectrip.cyt.constant.LogoType; |
| 17 | import com.ectrip.cyt.constant.constant; | 35 | import com.ectrip.cyt.constant.constant; |
| 36 | +import com.ectrip.cyt.utils.LogUtil; | ||
| 18 | import com.ectrip.trips.check.R; | 37 | import com.ectrip.trips.check.R; |
| 19 | 38 | ||
| 20 | public class WelcomeActivity extends BaseActivity { | 39 | public class WelcomeActivity extends BaseActivity { |
| @@ -22,14 +41,22 @@ public class WelcomeActivity extends BaseActivity { | @@ -22,14 +41,22 @@ public class WelcomeActivity extends BaseActivity { | ||
| 22 | public final String TAG = "WelcomeActivity"; | 41 | public final String TAG = "WelcomeActivity"; |
| 23 | 42 | ||
| 24 | private ImageView welcomeBg; | 43 | private ImageView welcomeBg; |
| 44 | + private static final int REQUEST_STORAGE_PERMISSION = 100; | ||
| 45 | + private static final int REQUEST_MANAGE_STORAGE = 101; | ||
| 46 | + private static final int INSTALL_PERMISS_CODE = 102; | ||
| 47 | + private String[] permissions = { | ||
| 48 | + Manifest.permission.READ_EXTERNAL_STORAGE, | ||
| 49 | + Manifest.permission.WRITE_EXTERNAL_STORAGE | ||
| 50 | + }; | ||
| 25 | 51 | ||
| 26 | @Override | 52 | @Override |
| 27 | protected void onCreate(Bundle savedInstanceState) { | 53 | protected void onCreate(Bundle savedInstanceState) { |
| 28 | super.onCreate(savedInstanceState); | 54 | super.onCreate(savedInstanceState); |
| 29 | setContentView(R.layout.app_welcome); | 55 | setContentView(R.layout.app_welcome); |
| 30 | initView(); | 56 | initView(); |
| 31 | - Access(); | 57 | +// Access(); |
| 32 | isScreenChange(); | 58 | isScreenChange(); |
| 59 | + checkFilePermissions(); | ||
| 33 | } | 60 | } |
| 34 | 61 | ||
| 35 | private void initView(){ | 62 | private void initView(){ |
| @@ -91,6 +118,170 @@ public class WelcomeActivity extends BaseActivity { | @@ -91,6 +118,170 @@ public class WelcomeActivity extends BaseActivity { | ||
| 91 | 118 | ||
| 92 | } | 119 | } |
| 93 | 120 | ||
| 121 | + private void checkFilePermissions() { | ||
| 122 | + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { | ||
| 123 | + // Android 11+ | ||
| 124 | + if (!Environment.isExternalStorageManager()) { | ||
| 125 | + showManageStorageDialog(); | ||
| 126 | + } else { | ||
| 127 | + // 已有权限 | ||
| 128 | + LogUtil.d(TAG, "Android 11+已有权限"); | ||
| 129 | + requestPermission(); | ||
| 130 | + } | ||
| 131 | + } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { | ||
| 132 | + // Android 6.0-10 | ||
| 133 | + if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) | ||
| 134 | + != PackageManager.PERMISSION_GRANTED) { | ||
| 135 | + ActivityCompat.requestPermissions(this, permissions, REQUEST_STORAGE_PERMISSION); | ||
| 136 | + } else { | ||
| 137 | + // 已有权限 | ||
| 138 | + LogUtil.d(TAG, "已有权限"); | ||
| 139 | + requestPermission(); | ||
| 140 | + } | ||
| 141 | + | ||
| 142 | + } else { | ||
| 143 | + // Android 5.1及以下,无需动态申请 | ||
| 144 | + } | ||
| 145 | + } | ||
| 146 | + | ||
| 147 | + private void showManageStorageDialog() { | ||
| 148 | + new AlertDialog.Builder(this) | ||
| 149 | + .setTitle("需要文件访问权限") | ||
| 150 | + .setMessage("本应用需要访问设备上的文件以提供完整功能") | ||
| 151 | + .setPositiveButton("去设置", new DialogInterface.OnClickListener() { | ||
| 152 | + @Override | ||
| 153 | + public void onClick(DialogInterface dialog, int which) { | ||
| 154 | + Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION); | ||
| 155 | + intent.setData(Uri.parse("package:" + getPackageName())); | ||
| 156 | + startActivityForResult(intent, REQUEST_MANAGE_STORAGE); | ||
| 157 | + } | ||
| 158 | + }) | ||
| 159 | + .setNegativeButton("取消", new DialogInterface.OnClickListener() { | ||
| 160 | + @Override | ||
| 161 | + public void onClick(DialogInterface dialog, int which) { | ||
| 162 | + finish(); | ||
| 163 | + System.exit(0); | ||
| 164 | + } | ||
| 165 | + }) | ||
| 166 | + .show(); | ||
| 167 | + } | ||
| 168 | + | ||
| 169 | + private void requestPermission() { | ||
| 170 | + List<String> permissionsNeeded = new ArrayList<>(); | ||
| 171 | + if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) | ||
| 172 | + == PackageManager.PERMISSION_DENIED) { | ||
| 173 | + permissionsNeeded.add(Manifest.permission.READ_PHONE_STATE); | ||
| 174 | + } | ||
| 175 | + if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) | ||
| 176 | + == PackageManager.PERMISSION_DENIED) { | ||
| 177 | + permissionsNeeded.add(Manifest.permission.CAMERA); | ||
| 178 | + } | ||
| 179 | + if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) | ||
| 180 | + == PackageManager.PERMISSION_DENIED) { | ||
| 181 | + permissionsNeeded.add(Manifest.permission.WRITE_EXTERNAL_STORAGE); | ||
| 182 | + } | ||
| 183 | + if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) | ||
| 184 | + == PackageManager.PERMISSION_DENIED) { | ||
| 185 | + permissionsNeeded.add(Manifest.permission.READ_EXTERNAL_STORAGE); | ||
| 186 | + } | ||
| 187 | + if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_PHONE_STATE) | ||
| 188 | + == PackageManager.PERMISSION_DENIED) { | ||
| 189 | + permissionsNeeded.add(Manifest.permission.READ_PHONE_STATE); | ||
| 190 | + } | ||
| 191 | +// if (ContextCompat.checkSelfPermission(this, Manifest.permission.MANAGE_EXTERNAL_STORAGE) | ||
| 192 | +// == PackageManager.PERMISSION_DENIED) { | ||
| 193 | +// permissionsNeeded.add(Manifest.permission.MANAGE_EXTERNAL_STORAGE); | ||
| 194 | +// } | ||
| 195 | + | ||
| 196 | + if (permissionsNeeded.size() > 0) { | ||
| 197 | + ActivityCompat.requestPermissions(this, permissionsNeeded.toArray(new | ||
| 198 | + String[permissionsNeeded.size()]), 1); | ||
| 199 | + } else { | ||
| 200 | + Access(); | ||
| 201 | + } | ||
| 202 | + } | ||
| 203 | + | ||
| 204 | + @Override | ||
| 205 | + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { | ||
| 206 | + super.onRequestPermissionsResult(requestCode, permissions, grantResults); | ||
| 207 | + switch (requestCode) { | ||
| 208 | + case 1: { | ||
| 209 | + boolean allowed = true; | ||
| 210 | + if (grantResults.length > 0) { | ||
| 211 | + for (int i = 0; i < grantResults.length; i++) { | ||
| 212 | + if (grantResults[i] != PackageManager.PERMISSION_GRANTED) { | ||
| 213 | + allowed = false; | ||
| 214 | + } | ||
| 215 | + } | ||
| 216 | + } | ||
| 217 | + | ||
| 218 | + if (!allowed) { | ||
| 219 | + Toast.makeText(this, "部分权限被拒绝,可能无法正常使用系统!", Toast.LENGTH_SHORT).show(); | ||
| 220 | + } | ||
| 221 | + Access(); | ||
| 222 | + break; | ||
| 223 | + } | ||
| 224 | + } | ||
| 225 | + } | ||
| 226 | + | ||
| 227 | + @RequiresApi(api = Build.VERSION_CODES.R) | ||
| 228 | + @Override | ||
| 229 | + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { | ||
| 230 | + super.onActivityResult(requestCode, resultCode, data); | ||
| 231 | + if (requestCode == REQUEST_MANAGE_STORAGE) { | ||
| 232 | + | ||
| 233 | + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { | ||
| 234 | + if (Environment.isExternalStorageManager()) { | ||
| 235 | + // 用户已授予权限 | ||
| 236 | + LogUtil.d(TAG, "用户已授予文件权限"); | ||
| 237 | +// requestPermission(); | ||
| 238 | + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { | ||
| 239 | + boolean haveInstallPermission = getPackageManager().canRequestPackageInstalls(); | ||
| 240 | + LogUtil.d(TAG, "haveInstallPermission = " + haveInstallPermission); | ||
| 241 | + if (!haveInstallPermission) { | ||
| 242 | + //弹框提示用户手动打开 | ||
| 243 | + new AlertDialog.Builder(getBaseContext()) | ||
| 244 | + .setTitle("安装权限") | ||
| 245 | + .setMessage("需要打开允许来自此来源,请去设置中开启此权限") | ||
| 246 | + .setPositiveButton("去设置", new DialogInterface.OnClickListener() { | ||
| 247 | + @Override | ||
| 248 | + public void onClick(DialogInterface dialog, int which) { | ||
| 249 | + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { | ||
| 250 | + //此方法需要API>=26才能使用 | ||
| 251 | +// toInstallPermissionSettingIntent(); | ||
| 252 | + } | ||
| 253 | + } | ||
| 254 | + }) | ||
| 255 | + .setNegativeButton("取消", new DialogInterface.OnClickListener() { | ||
| 256 | + @Override | ||
| 257 | + public void onClick(DialogInterface dialog, int which) { | ||
| 258 | + dialog.dismiss(); | ||
| 259 | + } | ||
| 260 | + }) | ||
| 261 | + .show(); | ||
| 262 | + } else { | ||
| 263 | + requestPermission(); | ||
| 264 | + } | ||
| 265 | + } else { | ||
| 266 | + requestPermission(); | ||
| 267 | + } | ||
| 268 | + } else { | ||
| 269 | + // 用户拒绝授予权限 | ||
| 270 | + LogUtil.d(TAG, "用户拒绝授予文件权限"); | ||
| 271 | + } | ||
| 272 | + } | ||
| 273 | + } else if (requestCode == INSTALL_PERMISS_CODE) { | ||
| 274 | + if (Environment.isExternalStorageManager()) { | ||
| 275 | + // 用户已授予权限 | ||
| 276 | + LogUtil.d(TAG, "用户已授予应用安装权限"); | ||
| 277 | + requestPermission(); | ||
| 278 | + } else { | ||
| 279 | + // 用户拒绝授予权限 | ||
| 280 | + LogUtil.d(TAG, "用户拒绝授予应用安装权限"); | ||
| 281 | + } | ||
| 282 | + } | ||
| 283 | + } | ||
| 284 | + | ||
| 94 | @Override | 285 | @Override |
| 95 | protected void initNet() { | 286 | protected void initNet() { |
| 96 | } | 287 | } |
src/com/ectrip/trips/view/CheckSwitchButton.java
| @@ -320,10 +320,10 @@ public class CheckSwitchButton extends CheckBox { | @@ -320,10 +320,10 @@ public class CheckSwitchButton extends CheckBox { | ||
| 320 | 320 | ||
| 321 | @Override | 321 | @Override |
| 322 | protected void onDraw(Canvas canvas) { | 322 | protected void onDraw(Canvas canvas) { |
| 323 | - canvas.saveLayerAlpha(mSaveLayerRectF, mAlpha, Canvas.MATRIX_SAVE_FLAG | ||
| 324 | - | Canvas.CLIP_SAVE_FLAG | Canvas.HAS_ALPHA_LAYER_SAVE_FLAG | ||
| 325 | - | Canvas.FULL_COLOR_LAYER_SAVE_FLAG | ||
| 326 | - | Canvas.CLIP_TO_LAYER_SAVE_FLAG); | 323 | +// canvas.saveLayerAlpha(mSaveLayerRectF, mAlpha, Canvas.MATRIX_SAVE_FLAG |
| 324 | +// | Canvas.CLIP_SAVE_FLAG | Canvas.HAS_ALPHA_LAYER_SAVE_FLAG | ||
| 325 | +// | Canvas.FULL_COLOR_LAYER_SAVE_FLAG | ||
| 326 | +// | Canvas.CLIP_TO_LAYER_SAVE_FLAG); | ||
| 327 | // canvas.saveLayerAlpha(mSaveLayerRectF, mAlpha, Canvas.ALL_SAVE_FLAG); | 327 | // canvas.saveLayerAlpha(mSaveLayerRectF, mAlpha, Canvas.ALL_SAVE_FLAG); |
| 328 | // 绘制蒙板 | 328 | // 绘制蒙板 |
| 329 | canvas.drawBitmap(mMask, 0, mExtendOffsetY, mPaint); | 329 | canvas.drawBitmap(mMask, 0, mExtendOffsetY, mPaint); |