我正在开发一个带有服务的Android 2.3.3应用程序.我在服务中有这个与Main活动进行通信:
public class UDPListenerService extends Service
{
private static final String TAG = "UDPListenerService";
//private ThreadGroup myThreads = new ThreadGroup("UDPListenerServiceWorker");
private UDPListenerThread myThread;
/**
* Handler to communicate from WorkerThread to service.
*/
private Handler mServiceHandler;
// Used to receive messages from the Activity
final Messenger inMessenger = new Messenger(new IncomingHandler());
// Use to send message to the Activity
private Messenger outMessenger;
class IncomingHandler extends Handler
{
@Override
public void handleMessage(Message msg)
{
}
}
/**
* Target we …Run Code Online (Sandbox Code Playgroud) android memory-leaks static-classes android-lint android-handler
当我按下BACK按钮(onBackPressed()调用)关闭我的应用程序时,CountDownTimer不会停止,直到完成计数.我怎么能把CountDownTimer cancel(); 在我onBackPressed()?
因为,当我退出我的应用程序时(如下面的描述所示),我不再需要在我的屏幕上进行反击.
在我的代码之上:
boolean network_connected = false;
Run Code Online (Sandbox Code Playgroud)
什么在我的onCreate():
if (check_network.isInternetAvailable(this)) {
network_connected = true;
new connect_task_main().execute("");
} else {
network_connected = false;
}
if (network_connected == false) {
new CountDownTimer(11000, 1000) {
public void onTick(long millisUntilFinished) {
global.toast.setText("No Internet Connection!" + "\n" + "Automatic Refresh In: " + millisUntilFinished / 1000); //set text for toast
global.toast.show(); //show toast
}
public void onFinish() {
if (network_connected == false) {
global.cancel_toast(0); //stop all …Run Code Online (Sandbox Code Playgroud)