GVKun编程网logo

ACTION_SCREEN_OFF时如何停止服务(如何停止服务进程)

13

在这篇文章中,我们将为您详细介绍ACTION_SCREEN_OFF时如何停止服务的内容,并且讨论关于如何停止服务进程的相关问题。此外,我们还会涉及一些关于AndroidACTION_SCREEN_OF

在这篇文章中,我们将为您详细介绍ACTION_SCREEN_OFF时如何停止服务的内容,并且讨论关于如何停止服务进程的相关问题。此外,我们还会涉及一些关于Android ACTION_SCREEN_OFF意向含义、Android Intent.ACTION_SCREEN_OFF和Intent.ACTION_USER_PRESENT如何注册、android – ACTION_OPEN_DOCUMENT无法处理MIUI、android – action_up在action_move之后不调用的知识,以帮助您更全面地了解这个主题。

本文目录一览:

ACTION_SCREEN_OFF时如何停止服务(如何停止服务进程)

ACTION_SCREEN_OFF时如何停止服务(如何停止服务进程)

我试图使我的数字时钟小部件的UpdateService在关闭屏幕以节省电池时停止,然后在激活屏幕时重新打开.我目前在appwidgetprovider的onReceive()中拥有它,但我也在broadcastReciever中进行了尝试.

我当前的代码是:

public static boolean wasScreenOn = true;

public void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
    Log.d("Screen switched on. ", "Starting DigiClock UpdateService.");
    context.startService(new Intent(UpdateService2by2.ACTION_UPDATE));
    wasScreenOn = false;
} else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
    Log.d("Screen switched off. ", "Stopping DigiClock UpdateService.");
    context.stopService(new Intent(context, UpdateService2by2.class));
    wasScreenOn = true;
}

有人可以帮我从这里出去吗?我感到难过.

解决方法:

我相当确定您必须以ACTION_SCREEN_OFF / ON的代码注册接收器.我认为在清单中注册它们不会起作用.

Android ACTION_SCREEN_OFF意向含义

Android ACTION_SCREEN_OFF意向含义

当您按下电源按钮以锁定屏幕时(或由于不活动而导致设备的屏幕指示灯熄灭),此时设备将进入非交互状态。

是的,设备将打开。

Android Intent.ACTION_SCREEN_OFF和Intent.ACTION_USER_PRESENT如何注册

Android Intent.ACTION_SCREEN_OFF和Intent.ACTION_USER_PRESENT如何注册

Activity has leaked IntentReceiver ScreenReceiver that was originally registered here. Are you missing a call to unregisterReceiver()?

在我的主要活动中

 // Register receiver that handles screen on and screen off logic
 final IntentFilter intentScreenfilter = new IntentFilter(Intent.ACTION_SCREEN_ON);
 intentScreenfilter.addAction(Intent.ACTION_SCREEN_OFF);
 intentScreenfilter.addAction(Intent.ACTION_USER_PRESENT);
 screenReceiver = new ScreenReceiver();

当应用程序关闭时,我收到此消息.

ACTION_SCREEN_OFF

ACTION_SCREEN_ON 

无法在AndroidManifest中注册,只能以编程方式注册.我能做什么?我不想使用服务,因为如果服务全天运行,这对电池不利.解决办法是什么?如何使用这个接收器?

解决方法:

你不能从android清单文件注册这些接收器.它根本不支持.唯一的方法是长时间运行服务并在服务中注册这些接收器.所以,如果你真的想使用

ACTION_SCREEN_ON 

ACTION_SCREEN_OFF 

然后你必须使用服务

android – ACTION_OPEN_DOCUMENT无法处理MIUI

android – ACTION_OPEN_DOCUMENT无法处理MIUI

我想在我的小米设备上使用ACTION_OPEN_DOCUMENT.我试过了
this google sample,但它也无法正常工作.使用下面的代码,我通常可以在三星galaxy s4上运行.

Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE);
                startActivityForResult(intent, 42);

我得到“android.content.ActivityNotFoundException:没有找到活动来处理Intent {act = android.intent.action.OPEN_DOCUMENT_TREE}”错误.

解决方法:

显然,小米搞砸了. AFAIK,他们没有通过Google Play认证,所以他们不需要通过CTS.除了检测这种情况(例如,使用PackageManager和queryIntentActivities(),或者捕获ActivityNotFoundException)并且回退到你在Android 4.4之前的设备上做的任何事情之外,你无法真正做到这一点.

android – action_up在action_move之后不调用

android – action_up在action_move之后不调用

我有一个动画,按下按钮按下.当用户滚动屏幕时,我希望它能够保持按下状态.为此,我制作了一个动画,基本上只是让图像处于相同的状态,以便在ACTION_MOVE中调用.我的问题是,当我释放按钮时,没有调用ACTION_UP,这是触发动画将按钮恢复到完整尺寸并且不再按下按钮的动画.我在ScrollView中有完整的相对布局.我仍然不完全理解发生了什么,但看起来ScrollView可能正在“接管”onTouch事件.这是我的onTouchListener代码.

s104.setonTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v,MotionEvent event) {
            switch (event.getAction()) {
            case MotionEvent.ACTION_DOWN:
                clearanim();
                s104.setAnimation(animpressed);
                s104.startAnimation(animpressed);
                return true;
            case MotionEvent.ACTION_MOVE:
                s104.setAnimation(animDrag);
                s104.startAnimation(animDrag);
                return true;
            case MotionEvent.ACTION_UP:

                s104.setAnimation(animReleased);
                s104.startAnimation(animReleased);

                return true;
            }
            return false;
        }
    });

我无法弄清楚为什么没有调用ACTION_UP.任何帮助将不胜感激.

解决方法

I still don’t understand fully what’s happening,but it appears that the ScrollView may be “taking over” the onTouch events.

那是正确的.您正在体验的是ScrollView“接管”MotionEvent.您可以在OnTouchListener中捕获此事件 – 为MotionEvent.ACTION_CANCEL添加一个案例.在那里,如果用户按下了View(ACTION_DOWN)并随后向下滚动,则可以确定结果.

今天的关于ACTION_SCREEN_OFF时如何停止服务如何停止服务进程的分享已经结束,谢谢您的关注,如果想了解更多关于Android ACTION_SCREEN_OFF意向含义、Android Intent.ACTION_SCREEN_OFF和Intent.ACTION_USER_PRESENT如何注册、android – ACTION_OPEN_DOCUMENT无法处理MIUI、android – action_up在action_move之后不调用的相关知识,请在本站进行查询。

本文标签: