Commit 0a9b7579 authored by jianglx's avatar jianglx

修改权限问题

parent b9aa83e9
......@@ -8,8 +8,8 @@ android {
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
flavorDimensions "default"
versionCode 155
versionName "1.5.5"
versionCode 151
versionName "1.5.1"
multiDexEnabled true
......
......@@ -136,11 +136,6 @@
android:enabled="true"
android:process=":remote" />
<service
android:name="com.tencent.smtt.export.external.DexClassLoaderProviderService"
android:label="dexopt"
android:process=":dexopt" />
<meta-data
android:name="com.shareinstall.APP_KEY"
android:value="@string/share_install_key" />
......@@ -205,7 +200,6 @@
android:name=".MainActivity"
android:screenOrientation="portrait"
android:excludeFromRecents="true"
android:screenOrientation="portrait"
android:exported="true"
android:launchMode="singleTask">
<intent-filter>
......
package com.xxfc.rv;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.AlertDialog;
import android.app.Notification;
import android.content.ComponentName;
......@@ -8,16 +10,12 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.ServiceConnection;
import android.content.pm.PackageManager;
import android.database.ContentObserver;
import android.location.LocationManager;
import android.net.ConnectivityManager;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
import android.os.Message;
import android.provider.Settings;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
......@@ -48,6 +46,7 @@ import com.ruiwenliu.wrapper.statusbar.StatusBarUtil;
import com.ruiwenliu.wrapper.util.GpsManager;
import com.ruiwenliu.wrapper.util.UtilsManager;
import com.ruiwenliu.wrapper.util.listener.SwitchFragment;
import com.ruiwenliu.wrapper.util.permission.RxPermission;
import com.ruiwenliu.wrapper.weight.CustomScrollViewPager;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.camp.CampFragment;
......@@ -98,6 +97,8 @@ import butterknife.BindView;
import butterknife.OnClick;
import cn.jpush.android.api.BasicPushNotificationBuilder;
import cn.jpush.android.api.JPushInterface;
import io.reactivex.functions.Consumer;
import pub.devrel.easypermissions.AppSettingsDialog;
public class MainActivity extends BaseActivity<CommonPresenter> implements DownListenerManager.DownListener, ChatMessageListener {
......@@ -188,20 +189,54 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
initNotification();
SwitchFragment.setFragmentSelected(postion -> setCurrent(postion));
if (!isGpsOpen()) {
new AlertDialog.Builder(this).setTitle("提示")
.setMessage("定位服务尚未打开,定位导航功能可能无法正常使用,是否进入设置界面打开GPS")
.setMessage("定位服务尚未打开,定位导航功能可能无法正常使用,是否进入设置界面打开定位服务")
.setNegativeButton("下次再说", (dialogInterface, i) -> {
dialogInterface.dismiss();
})
.setPositiveButton("好的", (dialogInterface, i) -> {
Intent intent1 = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent1);
dialogInterface.dismiss();
})
.setCancelable(false).show();
}
}
/**
* 定位权限处理
*/
@SuppressLint("CheckResult")
private void permissionProcess() {
/**
* 6.0以上手机做权限处理
*/
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
new RxPermission(mActivity).request(
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION
).subscribe(new Consumer<Boolean>() {
@Override
public void accept(Boolean aBoolean) throws Exception {
if (aBoolean == true) {
initGps();
initCity();
} else {
new AppSettingsDialog.Builder(mActivity).
setTitle("需要定位权限")
.setRationale("如果没有此权限,此应用程序可能无法正常工作,是否打开设置修改该应用权限")
.build().show();
}
}
});
} else {
initGps();
initCity();
}
}
private void initNotification() {
BasicPushNotificationBuilder builder = new BasicPushNotificationBuilder(mActivity);
builder.statusBarDrawable = R.drawable.logo_title;
......@@ -438,13 +473,13 @@ public class MainActivity extends BaseActivity<CommonPresenter> implements DownL
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 1001) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
updateAppUtils.download();
} else {
Toast.makeText(getApplicationContext(), "授权失败,无法下载最新App", Toast.LENGTH_SHORT).show();
}
}
// if (requestCode == 1001) {
// if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// updateAppUtils.download();
// } else {
// Toast.makeText(getApplicationContext(), "授权失败,无法下载最新App", Toast.LENGTH_SHORT).show();
// }
// }
}
@Override
......
package com.xxfc.rv;
import android.app.Dialog;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Build;
......@@ -7,13 +8,13 @@ import android.os.Bundle;
import android.support.annotation.Nullable;
import android.text.TextUtils;
import android.view.View;
import android.widget.Toast;
import com.base.utils.tools.android.NetworkUtil;
import com.ruiwenliu.wrapper.SPConstance;
import com.ruiwenliu.wrapper.base.BaseActivity;
import com.ruiwenliu.wrapper.base.BaseBean;
import com.ruiwenliu.wrapper.weight.TitleView;
import com.rv.component.utils.AppCookie;
import com.rv.component.utils.CacheEnum;
import com.rv.component.utils.Cookie;
import com.rv.component.utils.LogUtil;
......@@ -55,7 +56,6 @@ public class WelcomeActivity extends BaseActivity<CommonPresenter> {
}
}
@Override
protected int setLayout() {
return R.layout.rv_act_weclome;
......@@ -65,10 +65,12 @@ public class WelcomeActivity extends BaseActivity<CommonPresenter> {
protected void initView(Bundle savedInstanceState, TitleView titleView, Intent intent) {
showTitle(false);//隐藏菜单栏
// showPermissionDialog();
AppConfig appConfig = (AppConfig) RvCache.getInstance().get(CacheEnum.IM_CONFIG);
if (appConfig == null) {
if (!NetworkUtil.isNetworkAvailable(getApplicationContext())) {
Toast.makeText(getApplicationContext(), "网络异常,im初始化失败,请退出重进", Toast.LENGTH_LONG).show();
showToast("网络异常,初始化失败,请退出重试", 1);
}
} else {
isImInitOk = true;
......@@ -77,6 +79,17 @@ public class WelcomeActivity extends BaseActivity<CommonPresenter> {
LogUtil.d("start");
}
// /******
// * 显示授权弹框
// */
// private void showPermissionDialog() {
// if (!AppCookie.getBooleanValue(this, AppCookie.KEY_ALLOWED_MOBILE_NET)
// && com.rv.im.util.NetworkUtil.isMobileConnected(this)) {
// Dialog dialog = new Dialog(this);
// dialog.setContentView(R.layout.);
// }
// }
@Override
protected void loadData(Bundle savedInstanceState, Intent intent) {
mPresenter.saveOnclick("8", "");
......
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
</LinearLayout>
<resources>
<string name="app_name">滴房车(测试)</string>
<string name="share_install_key">FBBK26FRR667RB</string>
<string name="share_install_scheme">dgqq8993</string>
<string name="share_install_key">7ABKEAKBFE7ERB</string>
<string name="share_install_scheme">fc2761a700</string>
</resources>
......@@ -228,4 +228,8 @@ public abstract class BaseWrapperActivity extends SupportActivity {
public void showToast(String msg) {
ToastView.getInstance(mActivity).showToastContent(msg, Toast.LENGTH_SHORT);
}
public void showToast(String msg,int duration) {
ToastView.getInstance(mActivity).showToastContent(msg, duration);
}
}
......@@ -50,7 +50,6 @@ public class ToastView {
mToast.setView(view);
mToast.setGravity(Gravity.CENTER, 0, 0);
mToast.show();
}
/**
......
......@@ -233,15 +233,15 @@ public class SettingActivity extends BaseStatusActivity<CommonPresenter> impleme
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case 1001:
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
updateAppUtils.download();
} else {
Toast.makeText(getApplicationContext(), "授权失败,无法下载最新App", Toast.LENGTH_SHORT).show();
}
break;
}
// switch (requestCode) {
// case 1001:
// if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// updateAppUtils.download();
// } else {
// Toast.makeText(getApplicationContext(), "授权失败,无法下载最新App", Toast.LENGTH_SHORT).show();
// }
// break;
// }
}
......
......@@ -42,13 +42,15 @@ public class VersionUpdateDialog extends BaseDialog {
private TextView txtContent;
private TextView tv_version_name;
private ImageView imgClose;
// private ImageView ivHeader ;
private DownloadListener mListener;
private UpdateForceDialog forceDialog;
private UpdateUnforceDialog updateUnforceDialog;
private VersionUpdateDialog dialog;
public Builder(Context context, DownloadListener listener) {
mContext = context;
this.mListener = listener;
......@@ -74,7 +76,7 @@ public class VersionUpdateDialog extends BaseDialog {
*/
public VersionUpdateDialog create() {
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final VersionUpdateDialog dialog = new VersionUpdateDialog(mContext, R.style.DialogActivityTheme);
dialog = new VersionUpdateDialog(mContext, R.style.DialogActivityTheme);
// 获取对话框的布局
View layout = inflater.inflate(R.layout.dialog_update_view, null);
// 为对话框添加布局和设置大小
......@@ -83,35 +85,11 @@ public class VersionUpdateDialog extends BaseDialog {
this.txtContent = layout.findViewById(R.id.txt_content);
this.btn_update = layout.findViewById(R.id.btn_update);
this.imgClose = layout.findViewById(R.id.img_close);
// ivHeader = layout.findViewById(R.id.iv_header) ;
// TransformationUtils utils = new TransformationUtils(ivHeader);
//
// GlideApp.with(mContext)
// .asBitmap()
// .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
// .load(R.drawable.icon_member_dialog_top)
// .apply(RequestOptions
// .bitmapTransform(new RoundedCorners(12)).override(ivHeader.getWidth(), ivHeader.getHeight()))
// .into(utils);
this.btn_update.setOnClickListener(view -> {
if (mListener != null) {
mListener.download();
if (mContext instanceof Activity && "MainActivity".equals(((Activity) mContext).getClass().getSimpleName()))
if (updateBean.getForce()) { // 强制更新
if (forceDialog == null)
forceDialog = new UpdateForceDialog(mContext, R.style.DialogActivityTheme);
forceDialog.show();
} else {
if (updateUnforceDialog == null)
updateUnforceDialog = new UpdateUnforceDialog(mContext, R.style.DialogActivityTheme);
updateUnforceDialog.show();
}
DownListenerManager.getInstance().notifyPendChange();
}
dialog.dismiss();
});
this.imgClose.setOnClickListener(view -> dialog.dismiss());
......@@ -136,6 +114,20 @@ public class VersionUpdateDialog extends BaseDialog {
dialog.setContentView(layout);
return dialog;
}
}
public void showDownDialog() {
if (mContext instanceof Activity && "MainActivity".equals(((Activity) mContext).getClass().getSimpleName()))
if (updateBean.getForce()) { // 强制更新
if (forceDialog == null)
forceDialog = new UpdateForceDialog(mContext, R.style.DialogActivityTheme);
forceDialog.show();
} else {
if (updateUnforceDialog == null)
updateUnforceDialog = new UpdateUnforceDialog(mContext, R.style.DialogActivityTheme);
updateUnforceDialog.show();
}
DownListenerManager.getInstance().notifyPendChange();
dialog.dismiss();
}
}
}
package com.rv.version.util;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.os.Build;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.util.Log;
import android.widget.Toast;
import com.ruiwenliu.wrapper.util.permission.RxPermission;
import com.rv.version.VersionUpdateDialog;
import com.rv.version.bean.UpdateBean;
import pub.devrel.easypermissions.AppSettingsDialog;
public class UpdateAppUtils {
private final String TAG = "UpdateAppUtils";
......@@ -151,35 +153,43 @@ public class UpdateAppUtils {
/**
* 更新
*/
private VersionUpdateDialog.Builder builder;
private void toUpdate() {
new VersionUpdateDialog.Builder(activity, listener)
.setData(updateBean)
.show();
builder = new VersionUpdateDialog.Builder(activity, listener).setData(updateBean).show();
}
private VersionUpdateDialog.Builder.DownloadListener listener = () -> preDownLoad();
private static final int PERMISSION_CODE = 1001;
/**
* 预备下载 进行 6.0权限检查
*/
@SuppressLint("CheckResult")
private void preDownLoad() {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {
download();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
new RxPermission(activity).request(
Manifest.permission.WRITE_EXTERNAL_STORAGE
).subscribe(aBoolean -> {
if (aBoolean == true) {
download();
} else {
new AppSettingsDialog.Builder(activity).
setTitle("需要存储权限")
.setRationale("如果没有此权限,滴房车无法正常更新")
.build().show();
}
});
} else {
if (ContextCompat.checkSelfPermission(activity,
Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) {
download();
} else {//申请权限
ActivityCompat.requestPermissions(activity,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, PERMISSION_CODE);
}
download();
}
}
public void download() {
Toast.makeText(activity.getApplicationContext(), "下载中...", Toast.LENGTH_SHORT).show();
DownloadAppUtils.download(activity, updateBean.getApkPath(), updateBean.getServerVersionName());
if (builder != null) {
builder.showDownDialog();
}
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment