1.定位的问题

This commit is contained in:
2025-09-26 01:13:02 +08:00
parent 59eeb1415b
commit bba729f5d0
2 changed files with 78 additions and 61 deletions

View File

@@ -1,5 +1,7 @@
package com.xscm.modulemain.activity;
import android.Manifest;
import android.app.Activity;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
@@ -19,6 +21,8 @@ import android.view.animation.AnimationUtils;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import com.alibaba.android.arouter.facade.annotation.Route;
@@ -56,6 +60,8 @@ import com.xscm.moduleutil.utils.BackgroundManager;
import com.xscm.moduleutil.utils.ColorManager;
import com.xscm.moduleutil.utils.ImageLoader;
import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.utils.location.LocationProvider;
import com.xscm.moduleutil.utils.location.SystemLocationProvider;
import com.xscm.moduleutil.utils.logger.Logger;
import com.tencent.imsdk.v2.V2TIMManager;
import com.tencent.imsdk.v2.V2TIMValueCallback;
@@ -69,7 +75,8 @@ import java.util.List;
import java.util.Map;
@Route(path = ARouteConstants.ME)
public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBinding> implements HomeContacts.View, View.OnClickListener {
public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBinding>
implements HomeContacts.View, View.OnClickListener, LocationProvider.LocationCallback {
private static int index = -1;
public static boolean isShortsShowing() {
@@ -178,6 +185,7 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
}
});
}
@@ -262,6 +270,7 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
}
return super.onKeyDown(keyCode, event);
}
// 最推荐的方法
private void clearAllOtherTasksAndRestart() {
// Intent intent = new Intent(this, MainActivity.class);
@@ -278,6 +287,7 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
// 可选:如果上面的方法不够彻底,可以配合使用
Runtime.getRuntime().gc(); // 建议垃圾回收
}
/**
* 优雅地退出应用,避免闪屏
*/
@@ -366,7 +376,7 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
} else if (id == R.id.riv) {
String roomId = CommonAppContext.getInstance().playId;
if (!TextUtils.isEmpty(roomId)) {
RoomManager.getInstance().fetchRoomDataAndEnter(this, CommonAppContext.getInstance().playId,"");
RoomManager.getInstance().fetchRoomDataAndEnter(this, CommonAppContext.getInstance().playId, "");
// MvpPre.getRoomOnline(roomId, "1", "100");
// AppStateManager stateManager = AppStateManager.getInstance();
@@ -540,24 +550,22 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
}
MvpPre.getMyInfo(SpUtil.getUserId() + "");//获取首充是否需要展示
// mBinding.ivShouchl.setVisibility(View.VISIBLE);
LogUtils.e("@@@1","开始定位", "描述:", "");
initLocation();
}
@Subscribe(threadMode = ThreadMode.MAIN)
public void onEvent(UnreadCountEvent event) {
long aLong = event.getALong();
long bLong = event.getBLong();
if (aLong==0 && bLong==0){
if (aLong == 0 && bLong == 0) {
mBinding.tvMessage.setVisibility(View.GONE);
}else {
} else {
mBinding.tvMessage.setVisibility(View.VISIBLE);
mBinding.tvMessage.setText(String.valueOf(event.getALong()+event.getBLong()));
mBinding.tvMessage.setText(String.valueOf(event.getALong() + event.getBLong()));
}
// if (event.getALong() == 0) {
@@ -619,6 +627,24 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
}
}
private String city1;
@Override
public void onLocationReceived(double latitude, double longitude, String city) {
LogUtils.e("当前位置:" + city);
city1 = city;
EventBus.getDefault().post(city1);
LogUtils.e("@@@1","开始定位", "描述:","当前位置"+city);
}
@Override
public void onFailed(String errorMessage) {
LogUtils.e("@@@1","开始定位", "描述:","失败");
}
public static int getCurrentVersionCode(Context context) {
try {
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0);
@@ -737,13 +763,13 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
}
}
if (!isPlaying){
RoomManager.getInstance().fetchRoomDataAndEnter(this, CommonAppContext.getInstance().playId,"");
if (!isPlaying) {
RoomManager.getInstance().fetchRoomDataAndEnter(this, CommonAppContext.getInstance().playId, "");
// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP).withString("form", "首页").withString("roomId", CommonAppContext.getInstance().playId).navigation();
}else {
} else {
// ARouter.getInstance().build(ARouteConstants.ROOM_DETAILS).withString("form", "首页").withString("roomId", CommonAppContext.getInstance().playId).navigation();
RoomManager.getInstance().fetchRoomDataAndEnter(this, CommonAppContext.getInstance().playId,"");
RoomManager.getInstance().fetchRoomDataAndEnter(this, CommonAppContext.getInstance().playId, "");
}
}
@@ -840,9 +866,44 @@ public class MainActivity extends BaseMvpActivity<HomePresenter, ActivityMainBin
}
// @Override
// @Override
// protected void onPause() {
// super.onPause();
// moveTaskToBack(true);
// }
private SystemLocationProvider locationProvider;
private void initLocation() {
if (ContextCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// 请求定位权限
ActivityCompat.requestPermissions(
(Activity) this,
new String[]{
android.Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION
},
1001 // 自定义常量,比如 1001
);
}
locationProvider = new SystemLocationProvider();
// 请求一次性的位置信息
locationProvider.getLastKnownLocation(this, this);
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == 1001) {
if (locationProvider == null) {
locationProvider = new SystemLocationProvider();
}
locationProvider.getLastKnownLocation(this, this);
}
}
}