当前位置:  开发笔记 > Android > 正文

onReceive只能运行一次android

如何解决《onReceive只能运行一次android》经验,为你挑选了0个好方法。

我正在使用此代码来检测屏幕何时被锁定并调用烤面包,每次屏幕锁定时它都能正常工作.但是,每当我退出应用程序时,它就会停止工作.它只适用于应用程序打开的情况.

public class BatterySaverLiteReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
            Log.i("Check", "Screen went OFF");
            Toast.makeText(context, "screen OFF", Toast.LENGTH_LONG).show();

            task(context);
        } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
            Log.i("Check", "Screen went ON");
            Toast.makeText(context, "screen ON", Toast.LENGTH_LONG).show();
        }
    }

    private void task(Context context) {
        // Process Killer and display all package names in toast
        ActivityManager actvityManager = (ActivityManager) context
                .getApplicationContext().getSystemService(
                        context.getApplicationContext().ACTIVITY_SERVICE);
        List procInfos = actvityManager
                .getRunningAppProcesses();
        for (int pnum = 0; pnum < procInfos.size(); pnum++) {
            actvityManager
                    .killBackgroundProcesses(procInfos.get(pnum).processName);
        }
    }
}

多数民众赞成如何注册我的接收器

IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
mReceiver = new BatterySaverLiteReceiver();
registerReceiver(mReceiver, filter);

表现

   
        
            
            
        
    

我从这里得到了这个代码

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有