gpt4 book ai didi

java - 更改 Activity 时如何停止 PhoneStateListener

转载 作者:行者123 更新时间:2023-11-30 02:00:32 25 4
gpt4 key购买 nike

我在 Activity 中定义了一个 PhoneStateListener,我想在更改 Activity 时停止监听器。我已尝试使用此代码来完成此操作,但它不起作用。

public class OriginActivity extends AppCompatActivity{
private TelephonyManager tManager;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_origin);
tManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
tManager.listen(new CustomPhoneStateListener(this), PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
}

protected void onPause() {
super.onPause();

// Logs 'app deactivate' App Event.
AppEventsLogger.deactivateApp(this);

tManager.listen(new CustomPhoneStateListener(this), PhoneStateListener.LISTEN_NONE);
}
}

我做错了什么?

最佳答案

我找到了解决办法!!!

public class OriginActivity extends AppCompatActivity{

CustomPhoneStateListener customPhoneStateListener;

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

/**** Other Code ****/

}

protected void onResume() {
super.onResume();

//Here, we start the listener!!!
TelephonyManager tManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
customPhoneStateListener = new CustomPhoneStateListener(this);
tManager.listen(customPhoneStateListener, PhoneStateListener.LISTEN_SIGNAL_STRENGTHS);
Log.d(TAG, "onResume");
}

protected void onPause() {
super.onPause();

//Here, we stop the listener!!!
TelephonyManager tManager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE);
tManager.listen(customPhoneStateListener, PhoneStateListener.LISTEN_NONE);
customPhoneStateListener = null;
}

}

因此,当我们第一次访问 Activity 或从另一个 Activity 返回时,我们调用 onResume() 并启动监听器。而且,当我们使用 onPause() 退出 Activity 时,我们会停止监听器。

关于java - 更改 Activity 时如何停止 PhoneStateListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31559867/

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