标签: handler

C#Windows应用程序阻止Windows关闭/注销

我编写了一个C#Windows窗体应用程序,而不是一个服务(它仅在用户登录并具有图形用户界面时使用),后台线程在无限循环中运行.

然而,当我尝试关闭Windows(7)时,它告诉我程序阻止它关闭或注销,并询问我是否要强制关闭.

现在,我的程序是否有可能意识到(获取处理程序)Windows尝试退出或注销?

所以,我需要的是在Windows尝试退出时使应用程序实现.

提前致谢.

编辑:谢谢你的好建议!如果它有一个CANCEL事件处理程序,它是否可以以任何方式使用表单结束事件?

c# windows logoff handler

4
推荐指数
2
解决办法
3672
查看次数

从服务中的线程更改主活动UI

我一直在寻找一些好的文档或一个很好的例子.我需要从我在后台运行的服务中的工作线程更改我的主活动UI.据我了解,我知道,我想用某种处理程序的工作,但我不知道究竟如何处理这个.

有没有人有任何想法或好的例子,他们可以指导我?我正在更改的UI元素是一个TextView,它只是通知用户线程的状态.

谢谢你的帮助.

service user-interface multithreading android handler

4
推荐指数
1
解决办法
4452
查看次数

Android中的Thread.run()和Handler.post()与Service之间有什么区别?

一般建议Handler.post()在Android中使用时需要在不同的线程中做一些工作.
当我想在后台做一些工作时,我被建议开始了Service.

但是我觉得使用起来比较方便new Thread (new Runnable(){...} );.

但是我担心手动创建新线程可能会在Android中表现不同,例如可能在内存不足时自动停止而在使用时Service可能不会?

希望得到一个明确的答案,帮助我摆脱这种困惑.^ ^

java service multithreading android handler

4
推荐指数
1
解决办法
4939
查看次数

在textchanged中禁用c#中的事件处理程序

我希望能够在需要时禁用或启用textchanged事件.我已经完成了我的功能,但我需要解雇事件处理程序,我该怎么做?

这是我的代码:

private void textBox1_TextChanged(object sender, EventArgs e)
{
           //something
}
Run Code Online (Sandbox Code Playgroud)

c# events handler

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

android处理程序.postdelay()每次分钟更改时钟?

我想延迟发布到时钟的分钟变化.目前我正在使用这个

handler.postDelayed(drawRunner, 60000);
Run Code Online (Sandbox Code Playgroud)

但这个延迟从现在开始60秒.我想要做的是延迟帖子直到时钟的微小变化.

例如:让我说在我的手机上的时间4:15:29比我想要延迟它直到时间4:16:00然后下一个是4:17:00等等.

无论如何要做到这一点?

java android handler

4
推荐指数
1
解决办法
2731
查看次数

如何停止postDelayed处理程序系列

我有一系列postDelayed处理程序.当用户在他想要的任何时间点击停止按钮时,我很难设置一个停止处理程序的数学代码.

我会感谢有人能提供的任何帮助.谢谢

while (!lessonIsRunning) {
        Handler handler0 = new Handler();
        handler0.postDelayed(new Runnable() {
          @Override
          public void run() {
              plate1.setVisibility(ImageView.VISIBLE);
              plate2.setVisibility(ImageView.VISIBLE);
              plate3.setVisibility(ImageView.VISIBLE);
          }
        }, 6000);

        Handler handler1 = new Handler();
        handler1.postDelayed(new Runnable() {
          @Override
          public void run() {
              apples1.setVisibility(ImageView.VISIBLE);
          }
        }, 9000);

        Handler handler2 = new Handler();
        handler2.postDelayed(new Runnable() {
          @Override
          public void run() {
              plus1.setVisibility(TextView.VISIBLE);
          }
        }, 9250);
}
public void stopLesson(View V){

}
Run Code Online (Sandbox Code Playgroud)

java android handlers handler postdelayed

4
推荐指数
1
解决办法
6262
查看次数

"javax.xml.ws.WebServiceException:不是有效的服务.有效的服务是:"如何解决

我已经实现了Web服务MyWebServiceImpl,如:

@WebServiceClient(//my parameters//)
@HandlerChain(file = "handlers.xml")
public class MyWebServiceImpl {...}
Run Code Online (Sandbox Code Playgroud)

我也有像MyWebService这样的接口

@WebService(//my parameters//)
@XmlSeeAlso({
com.my.ObjectFactory.class,
com.my.second.ObjectFactory.class,
com.my.third.ObjectFactory.class
})
public interface MyWebService {...}
Run Code Online (Sandbox Code Playgroud)

我想使用Soap处理程序获得响应,因此我创建了handlers.xml,LoggingHandler.然后我尝试执行我的测试类我得到错误:

javax.xml.ws.WebServiceException: {http://service.ws.my.com/}MyWebServiceImpl is not a valid service. Valid services are: {http://service.ws.my.com/}myWebService
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:223)
at com.sun.xml.internal.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:168)
at com.sun.xml.internal.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:96)
at javax.xml.ws.Service.<init>(Service.java:77)
at com.my.ws.service.MyWebServiceImpl.<init>(MyWebServiceImpl.java:46)
at test.MainTest.<init>(MainTest.java:354)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.junit.runners.BlockJUnit4ClassRunner.createTest(BlockJUnit4ClassRunner.java:187)
at org.junit.runners.BlockJUnit4ClassRunner$1.runReflectiveCall(BlockJUnit4ClassRunner.java:236)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.BlockJUnit4ClassRunner.methodBlock(BlockJUnit4ClassRunner.java:233)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at …
Run Code Online (Sandbox Code Playgroud)

response jax-ws handler

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

如果在延迟倒计时期间中断,如何重新启动处理程序postdelay进程

我有一个问题,我无法解决.我有一个按钮,当单击时更改文本视图.然后它会激活一个postdelayed过程,该过程textview在2秒后返回其原始文本.

如果我按下按钮一次,然后在这2秒间隔内再次postdelay按下,则第一次按下时将继续倒计时,而不是从第二次按下重新开始.这导致在我想要更改的文本时显示原始文本.

每次按下按钮,它都会从该实例创建延迟.我希望它取消之前的postdelay并开始一个新的.这是我的代码到目前为止,但它没有完成,因为我无法弄清楚如何完成它(所以它不起作用).

p1AddL.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            counter1 ++;
            count1 ++;
            Handler h = new Handler();
            if ('PREVIOUS_DELAY_HAS_STARTED') {
                h.removeCallbacks(clickButton);
                h.postDelayed(clickButton, 2000);
            } else {
                h.postDelayed(clickButton, 2000);
            }
            if (count1 > 0) {
                lifepointsP1.setText("+" + count1);
                lifepointsP1.setTextColor(Color.argb(220, 0, 188, 0));
            }
        }
    });

Runnable clickButton = new Runnable() {
    @Override
    public void run() {
        count1 = 0;
        lifepointsP1.setTextColor(Color.WHITE);
        lifepointsP1.setText(counter1);
    }
};
Run Code Online (Sandbox Code Playgroud)

该PREVIOUS_DELAY_HAS_STARTED文本需要有某种形式的检查方法,我敢肯定,我需要的东西之间h.removeCallbacks和h.postDelayed …

android counter handler runnable postdelayed

4
推荐指数
1
解决办法
4409
查看次数

postDelayed会导致消息跳转到队列的前面吗?

我正在Android文档上查看postDelayed post延迟文档

这类似于另一个问题 - /sf/ask/1807436991/ - I我有一段时间了,但情况不同(在我的脑海里措辞更清晰)

基本上是文档对于这个方法的说法 - "导致Runnable被添加到消息队列中,在指定的时间量过去之后运行.可运行的操作将在用户界面线程上运行."

我知道每个线程都有一个消息队列,looper和与之关联的处理程序.- Android中的Looper,Handler和MessageQueue之间有什么关系?.就"在指定的时间量过去后运行"而言,如果传入0作为delayMillis的参数并且消息队列中仍有消息,则消息0将跳过其余消息(目前在它的前面)在消息队列中直接由looper处理?我知道looper会将消息发送到Handler的handleMessage()方法 - 来自Looper如何知道将消息发送给Handler?.我会自己测试一下,但我真的不知道你会怎么做.

java multithreading android handler

4
推荐指数
1
解决办法
993
查看次数

处理程序postDelayed-每秒打印一些内容

我想使用来打印当前秒handler。我精确地录制了视频,10 seconds并且想要设置TextView每秒的文本。

录制10秒的工作原理如下:

Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    @Override
    public void run() {
           stopRecordingVideo();
    }
}, 11000);  // don't know why 11000 but it only works this way
Run Code Online (Sandbox Code Playgroud)

10秒钟后,该方法stopRecordingVideo()将执行。那么,如何每秒更改TextView的文本呢?

video android handler android-camera2

4
推荐指数
1
解决办法
4506
查看次数