zoukankan      html  css  js  c++  java
  • 遇到难题求高手帮忙解决--Android P开始监听不到关机广播

    背景:

    最近在做一个关于android的续航时间测试apk,从开始测试记录时间到低电自动关机时这整个的时间,当前采用监听关机广播的来实际统计续航时间,但遇到的问题是同样的测试apk在android8及以下系统均能正常监听到关机广播,但从android 9开始就监听不到关机广播了。

    下面是我的监听广播注册方法(采用静态注册关机 广播方式)

    AndroidManifest.xml如下

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     3     package="com.dou.dou">
     4 
     5     <application
     6         android:allowBackup="true"
     7         android:icon="@mipmap/ic_launcher"
     8         android:label="@string/app_name"
     9         android:roundIcon="@mipmap/ic_launcher_round"
    10         android:supportsRtl="true"
    11         android:theme="@style/AppTheme">
    12 
    13         <receiver
    14             android:name=".ShutDownBroadcastReceiver"
    15             android:exported="true">
    16             <!--<intent-filter>-->
    17                 <!--<action android:name="android.intent.action.BOOT_COMPLETED" />-->
    18                 <!--<category android:name="android.intent.category.HOME" />-->
    19             <!--</intent-filter>-->
    20 
    21             <intent-filter>
    22                 <action android:name="android.intent.action.ACTION_SHUTDOWN" />
    23                 <!--<category android:name="android.intent.category.HOME" />-->
    24             </intent-filter>
    25         </receiver>
    26     </application>
    27 
    28     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    29     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    30     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
    31     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    32     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    33     <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    34 
    35 </manifest>

    下面是实现接收关机广播的处理实现

     1 import android.content.BroadcastReceiver;
     2 import android.content.Context;
     3 import android.content.Intent;
     4 
     5 import java.io.File;
     6 import java.io.FileWriter;
     7 import java.io.IOException;
     8 import java.text.SimpleDateFormat;
     9 import java.util.Date;
    10 
    11 public class ShutDownBroadcastReceiver extends BroadcastReceiver {
    12     @Override
    13     public void onReceive(Context context, Intent intent){
    14         System.out.println("---------Shut down-------------");
    15         File file = new File ("/sdcard/result.txt");
    16         try {
    17             if(!file.exists())
    18             {
    19                 file.createNewFile();
    20             }
    21             FileWriter writer = null;
    22 
    23                 writer = new FileWriter(file, true);
    24 
    25             writer.write("Shut_down [" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format((new Date()).getTime()) + "]
    ");
    26             writer.close();
    27         } catch (IOException e) {
    28             e.printStackTrace();
    29         }
    30     }
    31 }
  • 相关阅读:
    winform中的 listview的使用的讲解。
    快乐的一天从AC开始 | 20210716 | P1345
    快乐的一天从AC开始 | 20210715 | P4643
    快乐的一天从AC开始 | 20210714 | P3594
    快乐的一天从AC开始 | 20210713 | P3557
    快乐的一天从AC开始 | 20210712 | P2251
    P7294-[USACO21JAN]Minimum Cost Paths P【单调栈】
    AT4353-[ARC101D]Robots and Exits【LIS】
    2021牛客暑期多校训练营9C-Cells【LGV引理,范德蒙德行列式】
    Loj#2880-「JOISC 2014 Day3」稻草人【CDQ分治,单调栈,二分】
  • 原文地址:https://www.cnblogs.com/aziji/p/12943610.html
Copyright © 2011-2022 走看看