Làm cách nào để biết khi nào một ứng dụng được sử dụng trong Android?


8

Có cách nào để biết khi nào một ứng dụng đang được sử dụng trong điện thoại Android không?

Tôi đặc biệt quan tâm đến các chức năng máy ảnh và thư viện. Tôi tin rằng bạn cùng phòng của tôi đã xem qua ảnh của tôi mà không hỏi và tôi đã cố xem bộ nhớ cache cho ứng dụng Thư viện nhưng dường như không thể tìm ra cách thực hiện.

Đây có phải là thậm chí đi đúng hướng? Anh ta đã có nó trong một khoảng thời gian hai mươi phút, và tôi muốn xem Phòng trưng bày có được truy cập trong khoảng thời gian đó không.

Câu trả lời:


17

Android cho phép các số liệu thống kê sử dụng được nhìn thấy từ GUI. Đây là cách bạn có thể nhìn thấy nó. ( Nguồn , bởi Kevin Swartz)

  1. Trong trình quay số mặc định của bạn, gõ *#*#4636#*#*. Nó sẽ mở một cửa sổ có tên Kiểm tra là cài đặt phụ của ứng dụng Cài đặt .
  2. Đi đến Thống kê sử dụng .

    IMG:

    Đối với Lollipop :

    • Sắp xếp thời gian trong Sắp xếp theo: dựa trên Thời gian sử dụng hoặc Lần sử dụng cuối cùng hoặc Tên ứng dụng .
    • Thứ tự của các mục là Ứng dụng , Lần sử dụng cuối cùngThời gian sử dụng .

      (Bấm vào hình để phóng to)

      IMG: IMG: IMG:


      Đối với Jelly Bean 4.2.1 đến Kitkat 4.4.2 :

      • Sắp xếp thời gian trong Sắp xếp theo: dựa trên Thời gian sử dụng hoặc Số lần khởi chạy hoặc Tên ứng dụng .
      • Thứ tự của các mục là Ứng dụng , ĐếmThời gian sử dụng .

      (Bấm vào hình để phóng to)

      IMG: IMG: IMG:

      Thời gian sử dụng trong các phiên bản Android này được hiển thị bằng mili giây (ms). Bạn có thể tự mình tính toán hoặc thử một công cụ chuyển đổi như thế này để ngay lập tức chuyển đổi chúng thành phút.

Đừng quên ADB

Ngoài ra, bạn có thể trực tiếp nhảy vào cửa sổ Thống kê sử dụng bằng cách sử dụng . Nhập lệnh này:

Dành cho Android Lollipop:

   adb shell am start -n com.android.settings/.UsageStatsActivity

Đối với Android 4.2.1 đến 4.4.2:

   adb shell am start -n com.android.settings/.UsageStats

Xem câu trả lời này nếu bạn muốn biết vai trò của các tham số trong các lệnh đó.

Bạn cũng có thể làm adb shell dumpsys usagestats( Nguồn , bởi Jinghao Shi) mà Android 4.2.1 và 4.4.2 không cung cấp bất cứ điều gì hữu ích hơn so với các ảnh chụp màn hình được đăng ở trên cho họ.

Lollipop cho thấy đầu ra dễ hiểu hơn của người dùng cuối so với người tiền nhiệm của nó,

Số liệu thống kê trong bộ nhớ hàng ngày
  timeRange = "29/8/2015, 8:34 AM â 30:30/2015, 1:41 AM" 
    gói
      gói = com.android.documentui TotalTime = "00:07" lastTime = "8/30/2015, 1:35 AM" 
      gói = com.android.browser TotalTime = "00:02" lastTime = "8/30/2015, 1:35 AM" 
      gói = com.android.camera2 TotalTime = "00:05" lastTime = "8/30/2015, 1:37 AM" 
...
...
sự kiện
      time = "8/30/2015, 1:34 AM" loại = MISE_TO_BACKGROUND gói = com.android.deskclock = com.android.deskclock.DeskClock 
      time = "8/30/2015, 1:34 AM" type = MISE_TO_FOREGROUND gói = com.android.dialer class = com.android.incallui.InCallActivity 
      time = "8/30/2015, 1:34 AM" type = MISE_TO_FOREGROUND gói = com.android.dialer class = com.android.dialer.DialtactsActivity 
...
...
Số liệu thống kê hàng tuần trong bộ nhớ
  timeRange = "27/8/2015, 5:30 AM 8/30/2015, 1:41 AM" 
    gói
      gói = com.android.documentui TotalTime = "00:07" lastTime = "8/30/2015, 1:35 AM" 
      gói = com.android.browser TotalTime = "00:02" lastTime = "8/30/2015, 1:35 AM" 
      gói = com.android.camera2 TotalTime = "00:05" lastTime = "8/30/2015, 1:37 AM"
...
...
Số liệu thống kê hàng tháng trong bộ nhớ
  timeRange = "8/9/2015, 8:34 AM â 30:30/2015, 1:41 AM" 
    gói
      gói = com.android.documentui TotalTime = "00:07" lastTime = "8/30/2015, 1:35 AM" 
      gói = com.android.browser TotalTime = "00:02" lastTime = "8/30/2015, 1:35 AM" 
      gói = com.android.camera2 TotalTime = "00:05" lastTime = "8/30/2015, 1:37 AM"
...
...
Số liệu thống kê hàng năm trong bộ nhớ
  timeRange = "21/12/2014, 5:30 AM 8/30/2015, 1:41 AM" 
    gói
      gói = com.android.documentui TotalTime = "00:07" lastTime = "8/30/2015, 1:35 AM" 
      gói = com.android.browser TotalTime = "00:02" lastTime = "8/30/2015, 1:35 AM" 
      gói = com.android.camera2 TotalTime = "00:05" lastTime = "8/30/2015, 1:37 AM"

Bây giờ bạn có thể duyệt danh sách để tìm ứng dụng Camera và Thư viện và xem giá trị "lần cuối được sử dụng" của chúng, đối với Lollipop, nghĩa là. Thật không may, thông tin trong phần này sẽ không giúp các thiết bị chạy tiền thân của Lollipop, trừ khi thiết bị đã được root, hoặc bạn tìm thấy một ứng dụng có thể cung cấp cho bạn số liệu thống kê gói.

Ngoài ra, trong trường hợp cụ thể của bạn, tất cả thông tin này sẽ chỉ hữu ích nếu bạn chưa khởi chạy Máy ảnh, Thư viện hoặc một ứng dụng cụ thể mà bạn quan tâm sau khi bạn của bạn sử dụng điện thoại, vì dấu thời gian cho điều đó ứng dụng được cập nhật lên "Lần sử dụng cuối cùng" mới, cho tất cả các phiên bản Android tôi đã đề cập.


Phần sau đây sẽ hoạt động nếu thiết bị được root.


Dành cho Jelly Bean (4.2.1) đến Kitkat (4.4.2)

Android giữ nhật ký khi một ứng dụng (thành phần của nó) được sử dụng lần cuối. Bạn có thể đi xuống /data/system/usagestats/sử dụng trình duyệt tệp với quyền truy cập root hoặc sử dụng .

Sẽ có một tệp có tên usage-history.xmlvà một số tệp khác có quy ước đặt tên như usage-YYMMDDtrong đó:

  • YYYY - Năm
  • MM - Tháng
  • DD - Ngày

Ví dụ: usage-20150729tệp được tạo vào ngày 29 tháng 7 năm 2015.

Đó .xmllà một tệp XML đơn giản, vì vậy bạn sẽ có thể xem nó trong trình soạn thảo văn bản. Đó usage-YYMMDDlà những datatập tin ( charset=binary) và trình soạn thảo văn bản của tôi Kate không thể mở chúng ở dạng người có thể đọc được. Tuy nhiên, cat <FILE>lệnh thực hiện công việc, vì vậy ứng dụng Android QuickEdit , không hoàn toàn tôi nên thêm.

Mẫu cơ bản của các mục trong .xmltệp đó là:

<pkg name="">
  <comp name="" />
  <comp name="" />
  ...
  <comp name="" />
</pkg>

Ví dụ: Đây là các mục sau đây cho ứng dụng AFWall + :

<pkg name="dev.ukanth.ufirewall">
  <comp name="dev.ukanth.ufirewall.MainActivity" lrt="1438134244890" />
  <comp name="dev.ukanth.ufirewall.widget.ToggleWidgetOldActivity" lrt="1435337932669" />
  <comp name="dev.ukanth.ufirewall.HelpActivity" lrt="1416601650972" />
  ...
</pkg>

Các lrtchống lại mọi thành phần ( comp) là thời gian Unix . Để làm cho nó có thể đọc được, con người sử dụng Epoch Converter hoặc bất cứ thứ gì có thể chuyển đổi thời gian Unix thành thời gian có thể đọc được của con người.

Ví dụ: 1438134244890thời gian Unix khi tôi truy cập hoạt động chính của AFWall + (chế độ xem mặc định) và thời gian được chuyển đổi Wed, 29 Jul 2015 01:44:04 GMTlà chính xác.

Đối với nội dung trong usage-YYMMDD, bạn sẽ thấy các hoạt động của ứng dụng bạn đã truy cập vào ngày hôm đó. Không có dấu thời gian ở đó.

Dành cho Lollipop

Lollipop có những thay đổi đáng kể liên quan đến việc thu thập số liệu thống kê sử dụng của một ứng dụng. Xem ghi chú chính thức của Google tại đây .

Khái niệm usage-history.xmlusage-YYMMDDkhông áp dụng ở đây. Thay vào đó, bạn sẽ có được thư mục tên daily, monthly, weekly, yearly. Tất cả chúng đều có các tệp mà bạn đoán đúng, có tên số, không có gì ngoài Unix Time như thế 1440374400000.

Một tập tin điển hình dưới dailycó nội dung:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<usagestats version="1" endTime="66355190">
    <packages>
        <package lastTimeActive="66153798" package="com.android.providers.media" timeActive="2974" lastEvent="2" />
        <package lastTimeActive="66329769" package="net.dinglisch.android.taskerm" timeActive="64172" lastEvent="2" />
        <package lastTimeActive="66150806" package="android" timeActive="1942" lastEvent="2" />
...
...
    <event-log>
        <event time="43080692" package="android" type="5" fs="1065353216" mcc="404" mnc="97" />
        <event time="43087204" package="com.android.launcher3" class="com.android.launcher3.Launcher" type="2" />
        <event time="43087329" package="com.android.settings" class="com.android.settings.Settings" type="1" />

Bây giờ đây thực sự là điều tương tự mà chúng ta đã thấy trong usagestatđầu ra nhưng thời gian ở dạng thô. Tôi không biết làm thế nào để hiểu thời gian ở đây chứ đừng nói đến việc chuyển đổi nó thành dạng có thể đọc được. Các nhà phát triển sẽ có thể làm điều đó .

Nếu bạn là gì và làm thế nào để chuyển đổi ( với tư cách là người dùng cuối ) thì vui lòng cho tôi biết hoặc đăng câu trả lời tại đây.



Bạn đã thử mở tập tin cấu hình bằng Notepad ++. Tôi không có root nên tôi không thể tự kiểm tra.
May mắn

@Lucky Không thử Windows; sử dụng Slackware Linux tại đây. Bạn có thể thử mở nó trong hệ thống của bạn. Đây là tập tin . Nó dường như không giữ bất kỳ cấu hình nào, vì vậy tôi có thể sẽ không gọi nó là tập tin cấu hình. :)
Firelord

Có thể mở trong trình soạn thảo Notepadd ++ và Sublime Text. Sublime mở nó dưới dạng dữ liệu HEX.
May mắn

Bạn có thể vui lòng chia sẻ ảnh chụp màn hình cho Notepad ++ không?
Firelord

1
Đây là giao diện của nó trong Notepad ++văn bản tuyệt vời
Lucky

1

Nếu điện thoại của bạn được sử dụng lần cuối hoặc nếu bạn muốn tìm hiểu các ứng dụng chạy / kết nối trên internet như (Trình duyệt, Clash of Clans, v.v.) thì hoạt động được sử dụng cuối cùng được ghi lại dưới hoạt động của tôi trong tài khoản google của bạn. Bạn có thể tìm thấy điều đó bằng cách truy cập https://myactivity.google.com và nhấp vào Android.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.