<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      android 獲得一個應(yīng)用程序的啟動次數(shù),運行時間等信息

      轉(zhuǎn)載聲明,原文出自:http://androidkaifa.com/thread-1036-1-1.html

       
      通過com.android.internal.os.PkgUsageStats這個類可以得到一個應(yīng)用程序的啟動次數(shù),運行時間等信息,功能很強大。但是google并沒有將這個類作為API接口提供給開發(fā)者,如果在android源碼下開發(fā),可以通過以下代碼來使用這個類:
       1 import com.android.internal.app.IUsageStats;
       2  import com.android.internal.os.PkgUsageStats;
       3  
       4 //比較兩個應(yīng)用程序的啟動次數(shù)和運行時間
       5  public final int compare(ApplicationInfo a, ApplicationInfo b) {
       6              ComponentName aName = a.intent.getComponent();
       7              ComponentName bName = b.intent.getComponent();
       8              int result = 0;
       9  //get usagestats service
      10              IUsageStats mUsageStatsService = IUsageStats.Stub
      11                          .asInterface(ServiceManager.getService("usagestats"));
      12              try {
      13  //get PkgUsageStats
      14                  PkgUsageStats aStats = mUsageStatsService
      15                          .getPkgUsageStats(aName);
      16                  PkgUsageStats bStats = mUsageStatsService
      17                          .getPkgUsageStats(bName);
      18                  if(aStats!=null && bStats!=null) {
      19                      if ((aStats.launchCount > bStats.launchCount)
      20                          || ((aStats.launchCount == bStats.launchCount) && (aStats.usageTime > bStats.usageTime)))
      21                      result = -1;
      22                      else if ((aStats.launchCount < bStats.launchCount)
      23                          || ((aStats.launchCount == bStats.launchCount) && (aStats.usageTime < bStats.usageTime)))
      24                      result = 1;
      25                      else {
      26                      result = 0;
      27                      }
      28                  }else if(aStats!=null && bStats ==null) {
      29                      result = -1;
      30                  } else if(aStats==null && bStats !=null) {
      31                      result = 1;
      32                  }
      33              } catch (RemoteException e) {
      34                  Log.i("TAG", "get package usage stats fail");
      35              }
      36  
      37             return result;
      38          }
      39  

      那么如果想在sdk中使用這個 類要如果作呢--可以使用反射 的方法,代碼如下:

       1 public final int compare(ApplicationInfo a, ApplicationInfo b) {
       2              
       3               ComponentName aName = a.intent.getComponent();
       4               ComponentName bName = b.intent.getComponent();
       5               int aLaunchCount,bLaunchCount;
       6               long aUseTime,bUseTime;
       7               int result = 0;
       8               
       9               try {
      10                    
      11                    //獲得ServiceManager類
      12                    Class<?> ServiceManager = Class
      13                       .forName("android.os.ServiceManager");
      14                    
      15                    //獲得ServiceManager的getService方法
      16                    Method getService = ServiceManager.getMethod("getService", java.lang.String.class);
      17                    
      18                    //調(diào)用getService獲取RemoteService
      19                    Object oRemoteService = getService.invoke(null, "usagestats");
      20                    
      21                    //獲得IUsageStats.Stub類
      22                    Class<?> cStub = Class
      23                       .forName("com.android.internal.app.IUsageStats$Stub");
      24                    //獲得asInterface方法
      25                    Method asInterface = cStub.getMethod("asInterface", android.os.IBinder.class);
      26                    //調(diào)用asInterface方法獲取IUsageStats對象
      27                    Object oIUsageStats = asInterface.invoke(null, oRemoteService);
      28                    //獲得getPkgUsageStats(ComponentName)方法
      29                    Method getPkgUsageStats = oIUsageStats.getClass().getMethod("getPkgUsageStats", ComponentName.class);
      30                    //調(diào)用getPkgUsageStats 獲取PkgUsageStats對象
      31                    Object aStats = getPkgUsageStats.invoke(oIUsageStats, aName);
      32                    Object bStats = getPkgUsageStats.invoke(oIUsageStats, bName);
      33                    
      34                    //獲得PkgUsageStats類
      35                    Class<?> PkgUsageStats = Class.forName("com.android.internal.os.PkgUsageStats");
      36                    
      37                    aLaunchCount = PkgUsageStats.getDeclaredField("launchCount").getInt(aStats);
      38                    bLaunchCount = PkgUsageStats.getDeclaredField("launchCount").getInt(bStats);
      39                    aUseTime = PkgUsageStats.getDeclaredField("usageTime").getLong(aStats);
      40                    bUseTime = PkgUsageStats.getDeclaredField("usageTime").getLong(bStats);
      41                    
      42                    if((aLaunchCount>bLaunchCount)||
      43                            ((aLaunchCount == bLaunchCount)&&(aUseTime>bUseTime)))
      44                        result = 1;
      45                    else if((aLaunchCount<bLaunchCount)||((aLaunchCount ==
      46                        bLaunchCount)&&(aUseTime<bUseTime)))
      47                        result = -1;
      48                    else {
      49                        result = 0;
      50                    }
      51  
      52                   } catch (Exception e) {
      53                     Log.e("###", e.toString(), e);
      54                    }
      55  
      56              return result;
      57           }
      58  

      如何看自己的android的詳細(xì)使用信息
      我們使用Andoroid手機時想看看自己的手機的使用情況,那么我們又如何去操作呢?也是必需得像程序這樣要自己寫一個程序才能查看吧,如果用戶不是編程的,那得怎么辦,呵,其實我們查看自己的手機使用詳情是沒有那么復(fù)雜的,今天androidkaifa.com就會大家說一下如何查詢自己的手機的使用情況,下面是具體的查看方法,
      其實查看方法非常簡單,直接進(jìn)入Android的工程模式即可,操作步驟如下:(筆者的android手機系統(tǒng)是4.0)
      1、首先進(jìn)入Android手機操作系統(tǒng)的撥號界面,直接輸入“*#*#4636#*#*”(不加引號)即可以快速進(jìn)入Android操作系統(tǒng)的工程測試模式。
      2、在“測試”模式菜單中有手機信息“Phone information”、電池信息“Battery information”、WI-FI信息“WI-FI information”、使用狀態(tài)“Usage statistics”四個選項。
      3、我們點擊選擇第二項“Battery information”進(jìn)入電池信息,然后就可以看到手機電池的詳細(xì)信息了,其中包括電量等級、電池狀態(tài)、溫度、電池材質(zhì)、電壓等等信息。
      4: 我們相應(yīng)點擊其實的選擇就可以看到其實的相應(yīng)的使用詳細(xì)信息

      posted @ 2013-01-19 20:35  王世楨  閱讀(1168)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 欧美日韩在线第一页免费观看| 白丝乳交内射一二三区| 自拍偷自拍亚洲精品播放| 中文字幕亚洲男人的天堂| 欧美影院成年免费版| 少妇撒尿一区二区在线视频| 国产精品综合av一区二区| 一区二区三区无码免费看| 国产亚洲精品久久久久久久软件| 美女爽到高潮嗷嗷嗷叫免费网站| 四川少妇被弄到高潮| 国产国产午夜福利视频| 久久精品不卡一区二区| 青草视频在线观看视频| 麻豆亚州无矿码专区视频| 国产另类ts人妖一区二区| 顺平县| 日本一区午夜艳熟免费| 蜜芽久久人人超碰爱香蕉| 久久九九精品99国产精品| 国产gaysexchina男外卖| 亚洲欧美偷国产日韩| 少妇人妻偷人免费观看| 部精品久久久久久久久| 在线日韩日本国产亚洲 | 在线中文字幕国产精品| 精品视频在线观看免费观看| 亚洲精品人成网线在线播放va| 欧美精品亚洲精品日韩专| 免费无码中文字幕A级毛片| 久久国产成人精品av| 99国产精品一区二区蜜臀| 91中文字幕一区在线| 亚洲电影天堂在线国语对白| 日本无遮挡真人祼交视频| 国产av普通话对白国语| 人妻丰满熟妇av无码区| 无码日韩av一区二区三区| 国产在线精品福利91香蕉| 亚洲全网成人资源在线观看| 99久久精品一区二区国产|