diff --git a/app/release/app-release.apk b/app/release/app-release.apk index 2e68871..4a6e5dd 100644 Binary files a/app/release/app-release.apk and b/app/release/app-release.apk differ diff --git a/app/src/main/java/com/zcshou/gogogo/FragmentSettings.java b/app/src/main/java/com/zcshou/gogogo/FragmentSettings.java index d242df7..53ee438 100644 --- a/app/src/main/java/com/zcshou/gogogo/FragmentSettings.java +++ b/app/src/main/java/com/zcshou/gogogo/FragmentSettings.java @@ -39,14 +39,6 @@ public class FragmentSettings extends PreferenceFragmentCompat implements OnPref pfAuthor.setSummary(R.string.author); } - // 设置 ID - String sDid; - sDid = DeviceIdUtils.getDeviceId(FragmentSettings.this.getContext()); - Preference pfDid = findPreference("setting_device_id"); - if (pfDid != null) { - pfDid.setSummary(sDid); - } - EditTextPreference pfWalk = findPreference("setting_walk"); if (pfWalk != null) { pfWalk.setSummaryProvider(new Preference.SummaryProvider() {// 使用自定义 SummaryProvider diff --git a/app/src/main/java/com/zcshou/gogogo/MainActivity.java b/app/src/main/java/com/zcshou/gogogo/MainActivity.java index 1d6589a..e5ef688 100644 --- a/app/src/main/java/com/zcshou/gogogo/MainActivity.java +++ b/app/src/main/java/com/zcshou/gogogo/MainActivity.java @@ -26,6 +26,7 @@ import android.os.SystemClock; import android.provider.Settings; import android.text.SpannableStringBuilder; import android.text.TextUtils; +import android.text.TextWatcher; import android.text.method.LinkMovementMethod; import android.util.Log; import android.view.Gravity; @@ -117,9 +118,7 @@ import com.zcshou.service.GoGoGoService; import com.zcshou.database.HistoryLocationDataBaseHelper; import com.zcshou.database.HistorySearchDataBaseHelper; import com.zcshou.service.GoSntpClient; -import com.zcshou.utils.AESUtils; import com.zcshou.utils.MapUtils; -import com.zcshou.utils.RSAUtils; import static android.view.View.GONE; import static com.zcshou.gogogo.R.drawable; @@ -709,6 +708,35 @@ public class MainActivity extends BaseActivity builder.show(); } + private void showFaqDialog() { + final android.app.AlertDialog alertDialog = new android.app.AlertDialog.Builder(this).create(); + alertDialog.show(); + // alertDialog.setCancelable(false); + Window window = alertDialog.getWindow(); + if (window != null) { + window.setContentView(layout.faq); + window.setGravity(Gravity.CENTER); + window.setWindowAnimations(R.style.DialogAnimFadeInFadeOut); + + TextView tvContent = window.findViewById(R.id.faq_content); + String str = "Q:Android 虚拟定位的实现原理是什么?\n" + + "A:具有 ROOT 权限的,一般直接拦截和位置相关的接口更改位置数据。没有 ROOT 权限的,一种是使用 Android 提供的模拟位置 API,一种基于 VirtualApp。\n" + + "Q:为何定位总是闪回真实位置?\n" + + "A:这和虚拟定位的实现方式有关系。Android 提供的模拟位置 API 只能模拟 GPS。而安卓的定位数据会同时使用 GPS、网络/WIFI等来实现更精确的定位\n" + + "Q:如何防止虚拟定位闪回真实位置?\n" + + "A:对于多数手机,是可以设置定位数据来源的。可以直接关闭从网络/WIFI定位,只允许 GPS 定位\n" + + "Q:使用位置的 APP 如何检测有没有虚拟定位?\n" + + "A:对于使用 ROOT 权限的虚拟定位,是无法被检测的(但是会检测到 ROOT 权限);使用 Android 提供的模拟位置 API,在 Android 6.0 之后,系统也没有挺检测方式。基于 VirtualApp 的检测方式要多一些。但是通常,如果位置变化较大、较快,APP 会认为定位异常\n"; + + SpannableStringBuilder ssb = new SpannableStringBuilder(); + ssb.append(str); + + tvContent.setMovementMethod(LinkMovementMethod.getInstance()); + tvContent.setText(ssb, TextView.BufferType.SPANNABLE); + + } + } + //开启地图的定位图层 private void openMapLocateLayer() { // 定位初始化 @@ -1686,16 +1714,17 @@ public class MainActivity extends BaseActivity //找到searchView searchItem = menu.findItem(id.action_search); searchView = (SearchView) searchItem.getActionView(); - searchView.setIconified(false);// 设置searchView处于展开状态 + //searchView.setIconified(false);// 设置searchView处于展开状态 searchView.onActionViewExpanded();// 当展开无输入内容的时候,没有关闭的图标 - searchView.setIconifiedByDefault(true);//默认为true在框内,设置false则在框外 - searchView.setSubmitButtonEnabled(false);//显示提交按钮 + // searchView.setIconifiedByDefault(true);//默认为true在框内,设置false则在框外 + //searchView.setSubmitButtonEnabled(false);//显示提交按钮 searchItem.setOnActionExpandListener(new MenuItem.OnActionExpandListener() { @Override public boolean onMenuItemActionCollapse(MenuItem item) { // Do something when collapsed menu.setGroupVisible(0, true); - searchView.setIconified(false);// 设置searchView处于展开状态 + menu.setGroupVisible(1, true); + // searchView.setIconified(false);// 设置searchView处于展开状态 // mSearchList.setVisibility(View.GONE); mSearchlinearLayout.setVisibility(View.INVISIBLE); mHistorylinearLayout.setVisibility(View.INVISIBLE); @@ -1705,6 +1734,7 @@ public class MainActivity extends BaseActivity public boolean onMenuItemActionExpand(MenuItem item) { // Do something when expanded menu.setGroupVisible(0, false); + menu.setGroupVisible(1, false); mSearchlinearLayout.setVisibility(View.INVISIBLE); //展示搜索历史 List> data = getSearchHistory(); @@ -1807,6 +1837,8 @@ public class MainActivity extends BaseActivity startActivity(intent); } else if (id == R.id.main_menu_action_latlng) { showInputLatLngDialog(); + } else if (id == R.id.action_faq) { + showFaqDialog(); } else if (id == R.id.main_menu_action_history) { Intent intent = new Intent(MainActivity.this, HistoryActivity.class); startActivity(intent); diff --git a/app/src/main/res/drawable/ic_faq.xml b/app/src/main/res/drawable/ic_faq.xml new file mode 100644 index 0000000..eb63b59 --- /dev/null +++ b/app/src/main/res/drawable/ic_faq.xml @@ -0,0 +1,4 @@ + + + diff --git a/app/src/main/res/layout/faq.xml b/app/src/main/res/layout/faq.xml new file mode 100644 index 0000000..1318b90 --- /dev/null +++ b/app/src/main/res/layout/faq.xml @@ -0,0 +1,35 @@ + + + + + + + + + + + diff --git a/app/src/main/res/layout/register_dialog.xml b/app/src/main/res/layout/register_dialog.xml index 9ab21ea..bd09d7b 100644 --- a/app/src/main/res/layout/register_dialog.xml +++ b/app/src/main/res/layout/register_dialog.xml @@ -2,6 +2,7 @@ @@ -27,16 +28,36 @@ android:drawablePadding="10dip" app:drawableStartCompat="@drawable/ic_user"/> - + android:layout_gravity="center" + android:gravity="center" + android:layout_marginStart="2dp" + android:orientation="horizontal"> + + + + + + + + + + 停止定位 经度 纬度 + FAQ + + 经纬度定位 + 历史记录 + 设置 + 暂无历史记录 @@ -36,10 +42,6 @@ 问题反馈 联系作者 - - 经纬度定位 - 历史记录 - 设置 设置 @@ -55,7 +57,6 @@ 关于 版本号 开发者 - 设备唯一标识 系统 diff --git a/app/src/main/res/xml/preferences_main.xml b/app/src/main/res/xml/preferences_main.xml index 9d33ca1..43ee79b 100644 --- a/app/src/main/res/xml/preferences_main.xml +++ b/app/src/main/res/xml/preferences_main.xml @@ -55,11 +55,6 @@ app:defaultValue="@string/author" app:iconSpaceReserved="false"/> - -