This commit is contained in:
renjianbo
2026-01-26 10:07:07 +08:00
parent b982b338c2
commit 24484610a4

View File

@@ -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);
}
} }
} }