修改
This commit is contained in:
@@ -9,7 +9,6 @@ import android.view.WindowManager;
|
|||||||
|
|
||||||
import com.ruilaizi.service.base.BaseActivity;
|
import com.ruilaizi.service.base.BaseActivity;
|
||||||
import com.ruilaizi.service.utils.ToastUtils;
|
import com.ruilaizi.service.utils.ToastUtils;
|
||||||
import com.ruilaizi.service.utils.checkVersionsUtils.ProfileSpUtils;
|
|
||||||
|
|
||||||
import java.lang.ref.WeakReference;
|
import java.lang.ref.WeakReference;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -40,13 +39,8 @@ public class SplashActivity extends BaseActivity implements EasyPermissions.Perm
|
|||||||
public void handleMessage(Message msg) {
|
public void handleMessage(Message msg) {
|
||||||
SplashActivity activity = mActivity.get();
|
SplashActivity activity = mActivity.get();
|
||||||
if (activity != null) {
|
if (activity != null) {
|
||||||
switch (msg.what) {
|
if (msg.what == 0) {
|
||||||
case 0:
|
activity.startActivity();
|
||||||
startActivity();
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -64,6 +58,15 @@ public class SplashActivity extends BaseActivity implements EasyPermissions.Perm
|
|||||||
methodRequiresTwoPermission();
|
methodRequiresTwoPermission();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onDestroy() {
|
||||||
|
super.onDestroy();
|
||||||
|
// 移除所有 Handler 消息,防止内存泄漏
|
||||||
|
if (handler != null) {
|
||||||
|
handler.removeCallbacksAndMessages(null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private void startActivity() {
|
private void startActivity() {
|
||||||
startActivity(MainActivity.class);
|
startActivity(MainActivity.class);
|
||||||
@@ -93,7 +96,7 @@ public class SplashActivity extends BaseActivity implements EasyPermissions.Perm
|
|||||||
handler.sendEmptyMessageDelayed(0, 2000);
|
handler.sendEmptyMessageDelayed(0, 2000);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
EasyPermissions.requestPermissions(this, "获取当前所在城市需要该权限",
|
EasyPermissions.requestPermissions(this, "应用需要存储和相机权限以正常运行",
|
||||||
RC_CAMERA_AND_LOCATION, perms);
|
RC_CAMERA_AND_LOCATION, perms);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -107,16 +110,21 @@ public class SplashActivity extends BaseActivity implements EasyPermissions.Perm
|
|||||||
//成功
|
//成功
|
||||||
@Override
|
@Override
|
||||||
public void onPermissionsGranted(int requestCode, List<String> perms) {
|
public void onPermissionsGranted(int requestCode, List<String> perms) {
|
||||||
ToastUtils.showToast(SplashActivity.this, "授权完成");
|
if (requestCode == RC_CAMERA_AND_LOCATION) {
|
||||||
|
// 权限授权成功后,延迟启动主界面
|
||||||
|
handler.sendEmptyMessageDelayed(0, 500);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//失败
|
//失败
|
||||||
@Override
|
@Override
|
||||||
public void onPermissionsDenied(int requestCode, List<String> perms) {
|
public void onPermissionsDenied(int requestCode, List<String> perms) {
|
||||||
|
if (requestCode == RC_CAMERA_AND_LOCATION) {
|
||||||
ToastUtils.showToast(SplashActivity.this, "获取部分权限失败,请重新授权");
|
ToastUtils.showToast(SplashActivity.this, "获取部分权限失败,请重新授权");
|
||||||
|
// 即使权限被拒绝,也继续启动应用(避免卡在启动页)
|
||||||
|
// 应用可以在后续使用功能时再次请求权限
|
||||||
|
handler.sendEmptyMessageDelayed(0, 2000);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user