相关疑难解决方法(0)

此Handler类应该是静态的,否则可能会发生泄漏:IncomingHandler

我正在开发一个带有服务的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

287
推荐指数
4
解决办法
13万
查看次数

要取消CountDownTimer Android Java的问题

当我按下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)

java android back countdowntimer

8
推荐指数
1
解决办法
1万
查看次数