gpt4 book ai didi

android - 让我的 GPS 传感器停止时遇到一些问题

转载 作者:行者123 更新时间:2023-11-29 16:17:46 25 4
gpt4 key购买 nike

当我的应用程序退出时,我的 GPS 传感器继续工作,或者当我更改 Activity 时,我的应用程序崩溃,具体取决于我的配置(在下面的代码中,当我更改 Activity 或退出应用程序时,它会崩溃)。如何更改我的以下 Activity ,以便在我退出应用程序时 GPS 传感器停止运行,但当我转到另一个 Activity 时它继续运行?

以下是我的 Activity 的关键部分:

public class InitialChoice extends Activity {
LocationManager mlocManager;
LocationListener mlocListener;

@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.initial_screen);

mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
mlocListener = new MyLocationListener();
mlocManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
}

@Override
protected void onStop(){
//mlocManager.removeUpdates(mlocListener);

mlocManager.removeGpsStatusListener((Listener) mlocListener);

mlocManager = null;
}
}

如果我使用以下代码而不是 onStop() 则 gps 不会停止运行:

@Override
public void finish(){
//mlocManager.removeUpdates(mlocListener);

mlocListener = null;
mlocManager = null;

日志:

12-16 21:54:58.120: D/LocationManager(909): requestLocationUpdates: provider = gps, listener = com.dummies.android.taskreminder.MyLocationListener@4628445812-16 21:55:04.740: D/AndroidRuntime(909): 关闭虚拟机12-16 21:55:04.740: W/dalvikvm(909): threadid=1: 线程退出并出现未捕获的异常 (group=0x400259f8)12-16 21:55:04.750: E/AndroidRuntime(909): 致命异常: main12-16 21:55:04.750: E/AndroidRuntime(909): java.lang.RuntimeException: 无法停止 Activity {com.dummies.android.taskreminder/com.dummies.android.taskreminder.activity.InitialChoice}: java。 lang.ClassCastException:com.dummies.android.taskreminder.MyLocationListener12-16 21:55:04.750:E/AndroidRuntime(909):在 android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3632)12-16 21:55:04.750:E/AndroidRuntime(909):在 android.app.ActivityThread.handleStopActivity(ActivityThread.java:3677)12-16 21:55:04.750: E/AndroidRuntime(909): 在 android.app.ActivityThread.access$2600(ActivityThread.java:135)12-16 21:55:04.750: E/AndroidRuntime(909): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2153)12-16 21:55:04.750: E/AndroidRuntime (909): 在 android.os.Handler.dispatchMessage (Handler.java:99)12-16 21:55:04.750: E/AndroidRuntime(909): 在 android.os.Looper.loop(Looper.java:144)12-16 21:55:04.750: E/AndroidRuntime(909): 在 android.app.ActivityThread.main(ActivityThread.java:4937)12-16 21:55:04.750:E/AndroidRuntime(909):在 java.lang.reflect.Method.invokeNative( native 方法)

这里的方法对我来说是新错误:Stop Location Listener in Android

12-16 23:10:50.295: W/dalvikvm(1272): threadid=1: 线程退出并出现未捕获的异常 (group=0x400259f8)12-16 23:10:50.305: E/AndroidRuntime(1272): 致命异常: main12-16 23:10:50.305: E/AndroidRuntime(1272): java.lang.RuntimeException: 无法停止 Activity {com.dummies.android.taskreminder/com.dummies.android.taskreminder.activity.InitialChoice}: android。 app.SuperNotCalledException: Activity {com.dummies.android.taskreminder/com.dummies.android.taskreminder.activity.InitialChoice} 没有调用 super.onStop()12-16 23:10:50.305: E/AndroidRuntime(1272): 在 android.app.ActivityThread.performStopActivityInner(ActivityThread.java:3632)12-16 23:10:50.305: E/AndroidRuntime(1272): 在 android.app.ActivityThread.handleStopActivity(ActivityThread.java:3677)

最佳答案

当它是位置监听器时,您对监听器的转换:

声明:

 LocationListener mlocListener; 

实例化:

 mlocListener = new MyLocationListener();

Actor :

 (Listener) mlocListener

Yout Logcat 在这里解释:

java.lang.ClassCastException: com.dummies.android.taskreminder.MyLocationListener 12-16

关于android - 让我的 GPS 传感器停止时遇到一些问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8539971/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com