adb shell dumpsys 系列(一)activity命令

本文详细解析了使用ADB命令dumpsys activity获取的设备活动信息,包括活动管理器设置、待处理意图、广播状态、内容提供者、URI权限、服务、最近任务、活动记录、运行进程等,为理解Android系统内部工作原理提供了深入洞察。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在adb中键入 adb shell dumpsys activity 命令

输入如下结果

C:\Users\Administrator>adb shell dumpsys activity
ACTIVITY MANAGER SETTINGS (dumpsys activity settings) activity_manager_constants:
  max_cached_processes=32
  background_settle_time=60000
  fgservice_min_shown_time=2000
  fgservice_min_report_time=3000
.............

ACTIVITY MANAGER PENDING INTENTS (dumpsys activity intents)
  * net.oneplus.weather: 1 items
    #0: PendingIntentRecord{9976a5 net.oneplus.weather broadcastIntent}
  * com.android.providers.calendar: 1 items
.............

ACTIVITY MANAGER BROADCAST STATE (dumpsys activity broadcasts)
  Historical broadcasts [foreground]:
  #0: BroadcastRecord{605580e u-1 android.intent.action.TIME_TICK}
    act=android.intent.action.TIME_TICK flg=0x50200014 (has extras)
    extras: Bundle[{android.intent.extra.ALARM_COUNT=1}]

  #50: act=android.media.VOLUME_CHANGED_ACTION flg=0x14000010 (has extras)
    0 dispatch 0 finish
    enq=2019-06-08 16:48:18 disp=2019-06-08 16:48:18 fin=2019-06-08 16:48:18
    extras: Bundle[{android.media.EXTRA_VOLUME_STREAM_TYPE_ALIAS=3, android.media.EXTRA_VOLUME_STREAM_TYPE=10, android.media.EXTRA_VOLUME_STREAM_VALUE=9, android.media.EXTRA_PREV_VOLUME_STREAM_VALUE=8}]
  ...

  Historical broadcasts [background]:
  #0: BroadcastRecord{9b00c18 u-1 android.intent.action.BATTERY_CHANGED}
    act=android.intent.action.BATTERY_CHANGED flg=0x60000010 (has extras)
    extras: Bundle[{technology=Li-ion, icon-small=17303316, max_charging_voltage=5000000, health=2, max_charging_current=500000, status=2, plugged=2, present=true, fastcharge_status=false, seq=48, charge_counter=2951657, level=100, scale=100, temperature=345, voltage=4315, invalid_charger=0}]

  #219: BroadcastRecord{89685d9 u-1 android.net.wifi.CONFIGURED_NETWORKS_CHANGE}
    act=android.net.wifi.CONFIGURED_NETWORKS_CHANGE flg=0x4000010 (has extras)
    extras: Bundle[{multipleChanges=false, changeReason=2, wifiConfiguration=* ID: 1 SSID: "ChinaNet-21" PROVIDER-NAME: null BSSID: null FQDN: null PRIO: 0 HIDDEN: false
 NetworkSelectionStatus NETWORK_SELECTION_ENABLED
 hasEverConnected: true
 numAssociation 322
creationtime=08-18 10:28:29.659
 validatedInternetAccess
 KeyMgmt: WPA_PSK Protocols: WPA RSN WAPI
 AuthAlgorithms: OPEN
 PairwiseCiphers: TKIP CCMP
 GroupCiphers: WEP40 WEP104 TKIP CCMP
 PSK: *


 sim_num
Enterprise config:
IP config:
IP assignment: DHCP
Proxy settings: NONE
 cuid=1000 cname=android.uid.system:1000 luid=1000 lname=android.uid.system:1000 lcuid=1000 userApproved=USER_UNSPECIFIED noInternetAccessExpected=false
lastConnected: 236sec roamingFailureBlackListTimeMilli: 1000
}]
  #220: BroadcastRecord{3b54b9e u0 org.codeaurora.intent.action.ACTION_DDS_SWITCH_DONE}
    act=org.codeaurora.intent.action.ACTION_DDS_SWITCH_DONE flg=0x1000010 (has extras)
    extras: Bundle[mParcelledData.dataSize=44]
  #232: BroadcastRecord{e07de02 u-1 android.net.wifi.CONFIGURED_NETWORKS_CHANGE}
    act=android.net.wifi.CONFIGURED_NETWORKS_CHANGE flg=0x4000010 (has extras)
    extras: Bundle[{multipleChanges=false, changeReason=2, wifiConfiguration=* ID: 1 SSID: "ChinaNet-21" PROVIDER-NAME: null BSSID: null FQDN: null PRIO: 0 HIDDEN: false
 NetworkSelectionStatus NETWORK_SELECTION_ENABLED
 hasEverConnected: true
 numAssociation 321
creationtime=08-18 10:28:29.659
 validatedInternetAccess
 KeyMgmt: WPA_PSK Protocols: WPA RSN WAPI
 AuthAlgorithms: OPEN
 PairwiseCiphers: TKIP CCMP
 GroupCiphers: WEP40 WEP104 TKIP CCMP
 PSK: *


 sim_num
Enterprise config:
IP config:
IP assignment: DHCP
Proxy settings: NONE
 cuid=1000 cname=android.uid.system:1000 luid=1000 lname=android.uid.system:1000 lcuid=1000 userApproved=USER_UNSPECIFIED noInternetAccessExpected=false
lastConnected: 237sec roamingFailureBlackListTimeMilli: 1000
}]
  #233: BroadcastRecord{68a5313 u-1 android.net.wifi.STATE_CHANGE}
    act=android.net.wifi.STATE_CHANGE flg=0x4000010 (has extras)
    extras: Bundle[{networkInfo=[type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: "ChinaNet-21", failover: false, available: true, roaming: false, metered: false], wifiInfo=SSID: ChinaNet-21, BSSID: a0:f4:79:d0:a2:f0, MAC: 02:00:00:00:00:00, Supplicant state: COMPLETED, RSSI: -43, Link speed: 72Mbps, Frequency: 2447MHz, Net ID: 1, Metered hint: false, score: 60, linkProperties={InterfaceName: wlan0 LinkAddresses: [fe80::9665:2dff:fe2a:13ad/64,192.168.1.8/24,]  Routes: [fe80::/64 -> :: wlan0,192.168.1.0/24 -> 0.0.0.0 wlan0,0.0.0.0/0 -> 192.168.1.1 wlan0,] DnsAddresses: [192.168.1.1,] Domains: null MTU: 0 TcpBufferSizes: 524288,1048576,4194304,524288,1048576,4194304}}]

  #481: BroadcastRecord{7633bd9 u-1 android.hardware.display.action.WIFI_DISPLAY_STATUS_CHANGED}
    act=android.hardware.display.action.WIFI_DISPLAY_STATUS_CHANGED flg=0x40000010 (has extras)
    extras: Bundle[{android.hardware.display.extra.WIFI_DISPLAY_STATUS=WifiDisplayStatus{featureState=1, scanState=0, activeDisplayState=0, activeDisplay=null, displays=[], sessionInfo=WifiDisplaySessionInfo:
    Client/Owner: Client
    GroupId:
    Passphrase:
    SessionId: 0
    IP Address: }}]
  ...

  Sticky broadcasts for user -1:
  * Sticky action android.media.RINGER_MODE_CHANGED

  Sticky broadcasts for user 0:
  * Sticky action net.oneplus.launcher.SYSTEM_READY

ACTIVITY MANAGER CONTENT PROVIDERS (dumpsys activity providers)
  Published single-user content providers (by class):
  * ContentProviderRecord{452c99e u0 com.android.providers.telephony/.TelephonyProvider}
    proc=ProcessRecord{c5de12d 2254:com.android.phone/1001}
    singleton=true
    authority=telephony
  * ContentProviderRecord{ee22c7f u0 com.android.providers.telephony/.MmsProvider}
    proc=ProcessRecord{c5de12d 2254:com.android.phone/1001}
    singleton=true
    authority=mms
  * ContentProviderRecord{915d44c u0 com.android.providers.settings/.SettingsProvider}
    proc=ProcessRecord{85119dc 1441:system/1000}
    singleton=true
    authority=settings
    34 connections, 0 external handles
      -> 2043:com.android.systemui/u0a30 s1/1 u0/0 +4m9s22ms
      -> 2281:com.android.settings/1000 s1/1 u0/0 +4m8s226ms
  
   
  * ContentProviderRecord{ab28a9d u0 com.android.mms/.MessageTemplateProvider}
    proc=ProcessRecord{fd72e9f 4507:com.android.mms/u0a26}
    authority=com.android.mms.MessageTemplateProvider

ACTIVITY MANAGER URI PERMISSIONS (dumpsys activity permissions)
  Granted Uri Permissions:
  * UID 10106 holds:
    UriPermission{9d9474b content://downloads/all_downloads/100 [user 0]}
    UriPermission{43e6528 content://downloads/all_downloads/101 [user 0]}
    UriPermission{6537241 content://downloads/all_downloads/102 [user 0]}
    UriPermission{d9da3e6 content://downloads/all_downloads/103 [user 0]}
    UriPermission{df30d27 content://downloads/all_downloads/104 [user 0]}
    UriPermission{1a8abd4 content://downloads/all_downloads/105 [user 0]}
    UriPermission{48e45cc content://downloads/all_downloads/99 [user 0]}

ACTIVITY MANAGER SERVICES (dumpsys activity services)
  User 0 active services:
  * ServiceRecord{1a01015 u0 com.android.bluetooth/.hid.HidService}
    app=null
    created=-4m7s840ms started=false connections=1
    Connections:
      act=android.bluetooth.IBluetoothInputDevice -> 2043:com.android.systemui/u0a30
  * ServiceRecord{4b23399 u0 com.oppo.market/com.oppo.statistics.upload.UploadService}
    app=null
    created=-3m33s179ms started=false connections=0

ACTIVITY MANAGER RECENT TASKS (dumpsys activity recents)
  Recent tasks:
  * Recent #0: TaskRecord{de32ccd #10980 I=net.oneplus.launcher/.Launcher U=0 StackId=0 sz=1}
  * Recent #1: TaskRecord{4eeb982 #1 I=com.android.settings/.FallbackHome U=0 StackId=-1 sz=0}
  * Recent #2: TaskRecord{2b6c893 #10979 A=calc.superdy.ttest U=0 StackId=-1 sz=0}
  * Recent #3: TaskRecord{da260d0 #10977 A=calc.superdy.customlauncher U=0 StackId=-1 sz=0}
  * Recent #4: TaskRecord{882c8c9 #10966 A=com.android.chrome U=0 StackId=-1 sz=0}
  * Recent #5: TaskRecord{d52ebce #10964 A=com.tencent.mm U=0 StackId=1 sz=0}
  * Recent #6: TaskRecord{f7b5aef #10962 A=com.android.browser U=0 StackId=-1 sz=0}
  * Recent #7: TaskRecord{114b9fc #10963 A=com.nfyg.hsbb U=0 StackId=-1 sz=0}

ACTIVITY MANAGER ACTIVITIES (dumpsys activity lastanr)
  <no ANR has occurred since boot>

ACTIVITY MANAGER ACTIVITIES (dumpsys activity starter)
ActivityStarter:
  mCurrentUser=0
  mLastStartReason=startActivityAsUser
  mLastStartActivityTimeMs=2019骞?鏈?鏃?涓嬪崍4:48:21
  mLastStartActivityResult=0
  mLastStartActivityRecord:
   packageName=com.android.packageinstaller processName=com.android.packageinstaller
   launchedFromUid=10060 launchedFromPackage=net.oneplus.launcher userId=0
   app=null
   Intent { act=android.content.pm.action.REQUEST_PERMISSIONS flg=0x800000 pkg=com.android.packageinstaller cmp=com.android.packageinstaller/.permission.ui.GrantPermissionsActivity (has extras) }
  mLaunchSingleTop=false mLaunchSingleInstance=false mLaunchSingleTask=false mLaunchFlags=0x800000 mDoResume=true mAddingToTask=false

ACTIVITY MANAGER ACTIVITIES (dumpsys activity activities)
Display #0 (activities from top to bottom):
  Stack #0:
  mFullscreen=true
  mBounds=null
    Task id #10980
    mFullscreen=true
    mBounds=null
    mMinWidth=-1
    mMinHeight=-1
    mLastNonFullscreenBounds=null
      TaskRecord{de32ccd #10980 I=net.oneplus.launcher/.Launcher U=0 StackId=0 sz=1}
      Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10800100 cmp=net.oneplus.launcher/.Launcher }
        Hist #0: ActivityRecord{41377e6 u0 net.oneplus.launcher/.Launcher t10980}
          Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10800100 cmp=net.oneplus.launcher/.Launcher }
          ProcessRecord{78f2c72 2759:net.oneplus.launcher/u0a60}

    Running activities (most recent first):
      TaskRecord{de32ccd #10980 I=net.oneplus.launcher/.Launcher U=0 StackId=0 sz=1}
        Run #0: ActivityRecord{41377e6 u0 net.oneplus.launcher/.Launcher t10980}

  Stack #1:
  mFullscreen=true
  mBounds=null

  ResumedActivity: ActivityRecord{41377e6 u0 net.oneplus.launcher/.Launcher t10980}
  mFocusedStack=ActivityStack{b662885 stackId=0, 1 tasks} mLastFocusedStack=ActivityStack{b662885 stackId=0, 1 tasks}
  mSleepTimeout=false
  mCurTaskIdForUser={0=10980}
  mUserStackInFront={}
  mActivityContainers={0=ActivtyContainer{0}A, 1=ActivtyContainer{1}A}
  mLockTaskModeState=NONE  mLockTaskPackages (userId:packages)=
    0:[]
 mLockTaskModeTasks[]
  KeyguardController:
    mKeyguardShowing=true
    mKeyguardGoingAway=false
    mOccluded=false
    mDismissingKeyguardActivity=null
    mDismissalRequested=false
    mVisibilityTransactionDepth=0

Enabled
Build: 2018-04-27 19:42:38
max_count:32
waiting_for_attach:0
waiting_for_preload:0
supervisors:32
pid=4520, user=0, name=com.android.browser, pss=8375, uss=7636
pid=6513, user=0, name=com.oneplus.calendar, pss=7295, uss=6220
Total Memory Usage: PSS 268755KB, USS 240844KB
Avg. Memory Usage: PSS 8398KB, USS 7526KB

Current Restart Whitelist :
com.oppo.qetest
com.oppo.qemonitor
Classification Whitelist :
High used :
General used :
Low used :


Print All type packages :
High Used Packages : 3
com.android.chrome
com.android.settings
com.tencent.mm

Low Used Packages : 81
com.homelink.android
com.android.browser


ACTIVITY MANAGER RUNNING PROCESSES (dumpsys activity processes)
  Isolated process list (sorted by uid):
    Isolated #0: ProcessRecord{7143884 2066:WebViewLoader-arm64-v8a/1037}
    Isolated #1: ProcessRecord{a7b548b 4672:com.google.android.webview:sandboxed_process0/u0a109i0}

  UID states:
    UID 1000: UidRecord{34cb70b 1000 PER  procs:17 seq(0,0,0)}
 
    UID u0i0: UidRecord{307830e u0i0 SVC  idle procs:1 seq(0,0,0)}

  Process LRU list (sorted by oom_adj, 67 total, non-act at 1, non-svc at 1):
    PERS #66: sys   F/ /PER  trm: 0 1441:system/1000 (fixed)

    Proc #43: cch+6 B/ /CEM  trm: 0 5493:com.android.packageinstaller/u0a33 (cch-empty)

  mStartedUsers:
    User #0: state=RUNNING_UNLOCKED
  mStartedUserArray: [0]
  mUserLru: [0]
  mHomeProcess: ProcessRecord{78f2c72 2759:net.oneplus.launcher/u0a60}
  mGlobalConfiguration: {1.0 0 460mcc7mnc [zh_CN,en_US] ldltr sw411dp w411dp h707dp 420dpi nrml long port finger -keyb/v/h -nav/h appBounds=Rect(0, 0 - 1080, 1920) s.10mThemeChanged = 0}
  Display override configurations:
    0: {1.0 0 460mcc7mnc [zh_CN,en_US] ldltr sw411dp w411dp h707dp 420dpi nrml long port finger -keyb/v/h -nav/h appBounds=Rect(0, 0 - 1080, 1920) s.10mThemeChanged = 0}
  mWakefulness=Asleep
  mSleepTokens=[{"ScreenOff", acquire at 82004 (183792 ms ago)}]
  mSleeping=true
  mShuttingDown=false mTestPssMode=false
  mVrController=[VrState=0x0,VrRenderThreadTid=0]
mDebugPid:2043

============================================================

可以看到分成了各个大类,包括broadcast  Service  Activity都在里面,如果感觉信息太多,则可以用

adb shell dumpsys activity activities

<think>我们正在处理用户的问题:用户想要通过ADB命令查看最近活动的intent信息,并使用findstr过滤出与intent相关的行。 根据用户提供的命令adb shell dumpsys activity recents | findstr intent 但是,我们注意到引用中提供了些相关的命令: 引用[1]提到:我们可以通过 adb shell dumpsys activity intents 来单独查看intents项 引用[2]提到:查询当前运行activity命令,如:adb shell dumpsys activity | findstr mFocusedApp 引用[3]提到:adb shell dumpsys activity activities 调用信息简析 因此,我们需要考虑: 1. 用户想要查看的是最近活动(recents)的intent信息。 2. 在Android的dumpsys activity中,有个专门用于查看最近任务(recents)的命令:`dumpsys activity recents`,它会列出最近的任务栈信息。 3. 用户希望过滤出包含“intent”的行。 但是,我们也要注意,在`dumpsys activity recents`的输出中,intent信息通常是以“intent={...}”的形式出现的。因此,使用`findstr intent`可以过滤出这些行。 然而,我们也可以考虑是否有更直接的方式。引用[1]提到可以使用`dumpsys activity intents`来单独查看intents项,但这里要注意,`dumpsys activity intents`和`dumpsys activity recents`的输出是不同的: - `dumpsys activity intents`:显示的是当前系统中与intent相关的信息,比如注册的intent过滤器等,而不是最近任务中的intent。 - `dumpsys activity recents`:显示的是最近任务列表,每个任务包含的activity记录,其中会包含启动activity的intent。 所以,用户想要的是最近任务中的intent,因此使用`adb shell dumpsys activity recents | findstr intent`是正确的。 但是,我们还需要注意,在Windows命令提示符中,我们使用`findstr`,而在Linux或Mac的终端中,我们通常使用`grep`。由于用户使用了`findstr`,可以推测用户是在Windows环境下运行adb命令的。 因此,我们可以直接告诉用户执行这个命令,并解释输出结果的含义。 另外,我们也可以提供些备选方案,比如使用`dumpsys activity activities`(引用[3])来查看当前活动栈中的activity,其中也可能包含intent信息,但注意`activities`和`recents`的区别。 总结回答: 1. 确认命令adb shell dumpsys activity recents | findstr intent 2. 解释:这个命令会列出最近任务(recents)中所有包含“intent”关键字的行,通常这些行会显示启动每个任务的根activity的intent信息。 3. 注意:输出可能包含多个任务,每个任务可能有多行(因为个任务可能由多个activity组成,但通常intent信息在任务记录中)。 但是,我们也要考虑到,在`dumpsys activity recents`的输出中,intent信息可能不是以单独行显示的,所以使用`findstr intent`可能会截断些信息。用户可能需要查看上下文来完整理解。 另外,我们可以提供更详细的解析方法,比如不使用findstr,而是将输出重定向到文件,然后查看整个最近任务的信息,这样可以看到完整的intent信息。 因此,在回答中,我们可以: - 首先给出命令 - 解释命令的作用 - 提供示例输出并解释 - 给出备选方案(如需要完整信息时) 由于用户的问题很具体,我们直接给出命令即可,但也可以补充些说明。 由于引用中并没有直接给出`dumpsys activity recents`的输出示例,我们可以根据经验描述。 示例输出可能类似于: * Recent #0: TaskRecord{... intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] ...}} 这表示最近任务0的intent是个启动器意图。 另外,我们也可以建议用户使用`dumpsys activity recents`而不加过滤,然后手动查找“intent”关键字,以便查看完整上下文。 最后,根据用户的问题,我们生成相关问题。 回答结构: 1. 直接回答命令 2. 解释命令的作用和输出 3. 可能遇到的问题和注意事项 4. 生成相关问题</think>根据您的需求,您可以使用以下 ADB 命令查看最近活动的 Intent 信息: ```bash adb shell dumpsys activity recents | findstr "intent" ``` ### 命令解析: 1. **`dumpsys activity recents`** 输出设备**最近任务栈(Recent Tasks)** 的详细信息,包含每个任务栈的 Intent 信息[^3]。 - 示例输出片段: ``` * Recent #0: TaskRecord{... intent={act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] ...}} ``` 2. **`| findstr "intent"`** 过滤输出结果,仅保留包含 **`intent`** 关键字的行,聚焦于 Intent 相关数据[^2]。 ### 注意事项: - 若输出为空,可能是当前无最近任务记录,或 Intent 信息被其他字段名(如 `Affinity`)描述。 - 完整查看任务栈信息可移除过滤: ```bash adb shell dumpsys activity recents ``` ### 替代方案: 如需查看当前前台 Activity 的 Intent,建议使用: ```bash adb shell dumpsys activity top | findstr "intent" ``` 此命令直接获取栈顶 Activity 的 Intent 数据[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值