zoukankan      html  css  js  c++  java
  • DropBoxReceiver

    package com.android.demo.lileidemo.listener;

    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.content.IntentFilter;
    import android.os.DropBoxManager;
    import android.os.Handler;

    import com.android.demo.lileidemo.MyApplication;
    import com.android.demo.lileidemo.constant.AppConstants;
    /**
    * date: 04/08/2020.
    * author: lilei.
    * Android8.0 should dynamic registration monitoring.
    */
    public class DropBoxReceiver extends BroadcastReceiver {
    public static String TAG = AppConstants.APP_TAG + "DropBoxReceiver ";
    private Handler mWorker;
    private static volatile DropBoxReceiver mInstance;
    private static final boolean DEBUG = true;

    public DropBoxReceiver() {
    mWorker = new Handler();
    }

    /**
    * get Instance.
    *
    * @return instance.
    */
    public static DropBoxReceiver getInstance() {
    if (mInstance == null) {
    synchronized (DropBoxReceiver.class) {
    if (mInstance == null) {
    mInstance = new DropBoxReceiver();
    }
    }
    }
    return mInstance;
    }

    /**
    * Register Ivi State Change Listener and start DropBox monitor.
    *
    */
    public void registerIviStateChangeListener() {
    //LogUtil.d(TAG + "registerIviStateChangeListener()");
    registerReceiver();
    }

    /**
    * registerReceiver.
    */
    private void registerReceiver() {
    //LogUtil.d(TAG + "registerReceiver private");
    IntentFilter intentFilter = new IntentFilter();
    intentFilter.addAction("android.intent.action.DROPBOX_ENTRY_ADDED");
    MyApplication.getAppContext().registerReceiver(DropBoxReceiver.getInstance(),
    intentFilter);
    }

    /**
    * unregisterReceiver.
    */
    public void unregisterReceiver() {
    MyApplication.getAppContext().unregisterReceiver(DropBoxReceiver.getInstance());
    }

    @Override
    public void onReceive(Context context, Intent intent) {
    String tag = (String) intent.getExtras().get(DropBoxManager.EXTRA_TAG);
    long time = (Long) intent.getExtras().get(DropBoxManager.EXTRA_TIME);
    if (DEBUG) {
    //LogUtil.d(TAG + "dropbox tag =" + tag + ",time = " + time);
    }
    parseDropBox(tag, time);
    }

    /**
    * parseDropBox.
    *
    * @param tag tag.
    * @param time time.
    */
    public void parseDropBox(String tag, long time) {
    /**
    if ("system_app_crash".equals(tag) || "data_app_crash".equals(tag)) {
    String packageName = DropBoxUtil.getDropBoxPackageName(tag, time - 1);
    LogUtil.d(TAG + "parseDropBox 11 tag:" + tag + " time:" + time
    + " packageName:" + packageName);
    } else if ("system_app_anr".equals(tag) || "data_app_anr".equals(tag)) {
    String packageName = DropBoxUtil.getDropBoxPackageName(tag, time - 1);
    LogUtil.d(TAG + "parseDropBox 22 tag:" + tag + " time:" + time
    + " packageName:" + packageName);
    }
    **/
    }
    }

  • 相关阅读:
    Silverlight & Blend动画设计系列一:偏移动画(TranslateTransform)
    如何在DeepEarth中进行图形绘制(点、线、多边形以及自定义图片图层)
    Bing Maps进阶系列六:使用Silverlight剪切(Clip)特性实现Bing Maps的迷你小地图
    解决 ICTCLAS 2009 Windows_JNI_32 在 Web Project无法使用的方法
    XListControl 改变颜色 行高
    设置 java.library.path其实是在 Apache Tomcat 的任务栏 Icon中设置
    ICTCLAS 2009 JNI_32 遇到MyEclipse Web Project下无法运行
    10分钟开始使用ICTCLAS Java版
    boost regex_search 找出所有 匹配串
    Boost 1_37_0 的安装以及在VC6.0中的使用
  • 原文地址:https://www.cnblogs.com/adamli/p/13140610.html
Copyright © 2011-2022 走看看