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