Android开发-使用am命令启动Activity,Service等组件,以及发送广播等操作

android adb shell命令行启动Activity service broadcast 在Android开发中,为了方便测试某一个组件,会直接使用adb 命令行来实现,下面分享实现方法 一、adb启动Activity: adb shell am start -n {包(package)名}/{包名}.{活动(activity)名称} 如:启动Activity adb shell am start -n com.xinrui/com.android.xinrui.MainActivit... 阅读详情

am命令简介:

am是一个可执行程序,全称是activity manager(还记得ActivityManager类么?)。am命令可以启动一个activity或service,发送一个BroadCast,也可以进行诸如杀进程等强大的功能。

am在Android系统中的源码位置:

frameworks\base\cmds\am\src\com\android\commands\am

am help:

在adb shell命令行,输入am或者am help,可以列出am的使用帮助信息,部分信息如下:

255|generic_x86:/ # am

Activity manager (activity) commands:

  help

      Print this help text.

  start-activity [-D] [-N] [-W] [-P <FILE>] [--start-profiler <FILE>]

          [--sampling INTERVAL] [--streaming] [-R COUNT] [-S]

          [--track-allocation] [--user <USER_ID> | current] <INTENT>

      Start an Activity.  Options are:

      -D: enable debugging

      -N: enable native debugging

      -W: wait for launch to complete

      --start-profiler <FILE>: start profiler and send results to <FILE>

      --sampling INTERVAL: use sample profiling with INTERVAL microseconds

          between samples (use with --start-profiler)

      --streaming: stream the profiling output to the specified file

          (use with --start-profiler)

      -P <FILE>: like above, but profiling stops when app goes idle

      --attach-agent <agent>: attach the given agent before binding

      -R: repeat the activity launch <COUNT> times.  Prior to each repeat,

          the top activity will be finished.

      -S: force stop the target app before starting the activity

      --track-allocation: enable tracking of object allocations

      --user <USER_ID> | current: Specify which user to run as; if not

          specified then run as the current user.

      --stack <STACK_ID>: Specify into which stack should the activity be put.

  start-service [--user <USER_ID> | current] <INTENT>

      Start a Service.  Options are:

      --user <USER_ID> | current: Specify which user to run as; if not

          specified then run as the current user.

  start-foreground-service [--user <USER_ID> | current] <INTENT>

am命令常用参数说明:

命令功能实现方法
am start [options]启动ActivitystartActivityAsUser
am startservice启动ServicestartService
am stopservice停止ServicestopService
am broadcast发送广播broadcastIntent
am restart重启restart
am dumpheap <pid> <file>进程pid的堆信息输出到filedumpheap
am send-trim-memory <pid> <level>收紧进程的内存setProcessMemoryTrimLevel
am kill <PACKAGE>杀指定后台进程killBackgroundProcesses
am kill-all杀所有后台进程killAllBackgroundProcesses
am force-stop <PACKAGE>强杀进程forceStopPackage
am hang系统卡住hang
am monitor监控MyActivityController.run

am命令举例:

(1)启动一个activity:

am start -n PackageName/PackageName.ActivityName

1. Camera(照相机)的启动方法为:

# am start -n com.android.camera/com.android.camera.Camera

2. Browser(浏览器)的启动方法为:

# am start -n com.android.browser/com.android.browser.BrowserActivity

3. 启动浏览器(打开网址) :

am start -a android.intent.action.VIEW -d  http://www.163.com

(2)启动service:

adb shell am startservice -n PackageName/services name

adb shell am startservice -n com.test.myapp/.MyService

(3)发送一个广播:

am broadcast

用am发送开机广播的命令:

am broadcast -a android.intent.action.BOOT_COMPLETED

am broadcast的参数: 


 
[-a <ACTION>]
 [-d <DATA_URI>]
 [-t <MIME_TYPE>]
 [-c <CATEGORY> [-c <CATEGORY>] ...]
 [-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
 [--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
 [-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
 [-n <COMPONENT>]
 [-f <FLAGS>] [<URI>]


AMS—启动一个Activity(基于深入理解Android) am启动一个activity 在前面先作一个精简的总结 从上图说起,上图分析到为Activity所在进程zygote一个进程,其实zygote一个进程,就是为其分配私有空间,分配一个process_id,ProcessRecord(应该相当于进程描述符吧)。随意此图没有涉及到Activity的内容。那么接下来,简要的分析流程中的每个方法的作用: ActivityManager 阅读详情

相关推荐

Android am命令启动Service,Activity,BroadcastReceiver

m命令启动Service,Activity,BroadcastReceiver,在frameworks\base\cmds\am\src\com\android\commands\am 一.am命令启动Activity am start -n package name/.Activity name 例: 其AndroidManifest.xml中显示:其package=“com.example” am start -n com.example/ com.example.MainActivity am sta

码点 4256

Android am 指令的使用

Android am 指令何为am指令android自带的命令也有些linux本身没有,而android特有的。

stop_pig的专栏 2万+

基于DSP28335的Matlab/Simulink代码生成实验七:A/D采样

实验七:讲解如何使用DSP的ADC模块,通过代码生成技术控制DSP进行电流采样,是后续实现电机闭环控制的重要环节。通过简单的实验来熟悉代码生成的过程。最终实现复杂算法代码自动生成,进行高性能电机控制!

m0_73869369的博客 4725

Android中 如何使用 am broadcast 指令发送带接收权限的广播

记录下Android发送广播时,需要待权限发送的 shell 命令方法: 对应的android代码实现: Context.sendBroadcast(someIntent, "SOME_PERMISSION"); 涉及指令(在实机的shell下,否则可以把adb shell 加在前面): am broadcast 使用参数: --receiver-permission "SOME_PERMISSION" 具体示例: 如上面提到的代码实现,对应的串口命令就是: am broadcast -

菜萌柴的博客 6609

冒泡排序的并行计算

本人也是并行计算的小白,在这里记录下自己的学习笔记。 今天做了一下冒泡排序的并行计算比较: 串行冒泡排序如下: #include <stdio.h> #include <stdlib.h> #include <windows.h> void BubbleSort(int * pData, int nSize) { if (!pData) { ...

gaoyi的专栏 4492

2025统计建模大赛完整论文

参赛队号:(参赛队无须填写,参赛队号由大赛官网自动生成)2025年(第十一届)全国大学生统计建模大赛参 赛 作 品参赛学校:XXXXXX大学论文题目:海洋叶绿素含量影响因素与预测——基于机器学习与大数据分析预测参赛队员:指导老师:国家知识产权局 统计分析成果 知识产权统计数据公开查询指引(2024版)随着全球气候变化的加剧,海洋碳汇的作用愈发受到重视,尤其是海洋生物通过光合作用吸收二氧化碳的过程,对于全球碳循环和温室气体减排具有重要意义。

2301_79579117的博客 9318

am命令

在看一些native代码的时候,看到了am这个东西,貌似是底层的执行代码,启动activity打开网页什么的都可以

疯狂大剑豪的专栏 1136

反激电源反馈环路设计:从TL431+PC817原理到动态补偿实战

本文深入解析了反激电源中由TL431和PC817构成的经典反馈环路设计。从静态工作点计算到动态补偿实战,详细阐述了如何通过Type II补偿网络优化环路稳定性与动态响应,并分享了应对光耦CTR离散性、布局噪声等常见调试难题的实用技巧,帮助工程师设计出高性能、高可靠的开关电源。

moon9的博客 701

Android adb shell am 命令介绍

详细介绍了Android Shell 中的am 命令

Lincoln 的专栏 5万+

半导体功率器件IGBT工艺全流程

本文概述了功率器件IGBT(绝缘栅双极型晶体管)的关键制造流程。主要工艺包括:基板制备、离子注入(B+/P+/P+FS层)、绝缘膜形成与加工(CVD沉积及刻蚀)、沟槽刻蚀、电极形成(Emitter和Collector)等步骤。通过离子注入、化学气相沉积和物理气相沉积等半导体工艺,依次完成器件各功能层的构建,最终形成具备高功率特性的IGBT器件。该流程体现了功率半导体制造中典型的掺杂、薄膜沉积和图形化工艺技术。

752

斗鱼直播间弹幕爬虫实战:WebSocket连接与实时数据采集

在数据驱动的时代,直播平台的弹幕数据蕴含着巨大的价值——用户行为分析、舆情监控、弹幕情感分析、直播热度评估等应用场景层出不穷。斗鱼作为国内领先的直播平台,其弹幕系统基于WebSocket协议实现实时双向通信。本文将带您从零开始,使用Python构建一个完整的斗鱼直播间弹幕爬虫系统。

2201_76125261的博客 137

Android下am命令启动Activity、Service、BroadcastReceiver

今天在跟踪android.intent.action.BATTERY_WARNING通知的出处的时候,意外的发现发通知的地方在底层c部分的代码,并且使用am命令发送通知出来。可以通过adb shell 进入android 的Linux命令界面,输入可以通过am命令启动android中的Activity,Service,BroadcastReceiver 等组件。 Android下有am命令非常实

u011547177的专栏 2536

基于 ESP32-CAM 与 TinyML 的食堂餐盘自动识别与营养分析终端

【代码】基于 ESP32-CAM 与 TinyML 的食堂餐盘自动识别与营养分析终端。

weixin_42300449的博客 166

Android adb shell am start命令总结

1.adb shell am start [options] <INTENT> 作用:启动一个activity adb shell am start com.android.settings/com.android.settings.Settings(com.android.settings/.Settings) 举例:adb shell am start -a com.e.u...

Jimmy的专栏 4万+

【华为OD技术面试真题 - 技术面】- 测试面试题(1)

专栏:华为OD面试真题精选 目录: 2024华为OD面试手撕代码真题目录以及八股文真题目录黑盒测试:白盒测试:基本功能验证:边界条件测试:空白输入测试:特殊字符和格式测试:响应时间测试:压力测试:针对在不同系统和设备上测试聊天窗口功能,以及网络正常的前置条件,我们可以增加以下测试用例:系统和设备:PC端测试:移动端测试:功能验证:前置条件:网络性能影响测试:Postman:SoapUI:JMeter:Rest-Assured:Tricentis Tosca:ReadyAPI:CI/CD工具集成:测试管理工

算法大师! 3690

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Android:adb shell am命令行发送Activity/Service/Broadcast

0.adb shell am命名行参数 F:\>adb shell # am am usage: am [subcommand] [options] start an Activity: am start [-D] [-W] -D: enable debugging -W: wait for launch to complete start

混迹于移动互联网和手机行业 3万+

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Android adb 发送广播、启动Activity、Service等

Android adb 发送广播、启动Activity、Service等

Kitty_Landon的专栏 3156

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Android 通过命令行启动Activity

通过命令行可以启动任何一个activity,如果启动Main Activity就等于是启动了相应的apk 命令: adb shell am start -n 包名 / 包含包名的Activity Camera(照相机)的启动: adb shell am start -n com.android.camera/com.android.camera.Camera Music(音乐播放器)的

Luckcat 1万+

adb命令启动某个action_Android:adb shell am命令行发送Activity/Service/Broadcast

[通过命令行执行adb shell am broadcast发送广播通知。adb shell am broadcast 后面的参数有:[-a ][-d ][-t ][-c [-c ] ...][-e|--es ...][--ez ...][-e|--ei0.adb shell am命名行参数F:\>adb shell# amamusage: am [subcommand] ...

weixin_34828705的博客 1141

android adb 启动activity、service,发送broadcast等操作

android adb 启动activity、service,发送broadcast等操作 一、adb启动activity: adb shellam start -n {包(package)名}/{包名}.{活动(activity)名称} 如:启动浏览器 adb shellam start -n com.android.browser/com.android.browser.Br

longgewxs的博客 1万+

adb之am命令用法

记录下android am命令用法,方便使用的时候查找

似霰的博客 2048

am命令基本知识

研究am start命令,今天不忙,顺便把am命令也简单的整理一下,方便以后工作中查看。 1. am start [options]    解释:启动一个activity    e.g.am start -n com.android.settings/.Settings     2. am startservice    解释:启动一个service    e.g.am star

rechanel的博客 1万+

android工具am的用法,Android中AM、PM、dumpsys命令使用总结

在平时开发中,通过命令行有时候能够快速的帮我们实现一些功能,这里对常用的命令做一些总结。1、AM命令用法1.1、简单介绍am指令是 activity manager的缩写,可以启动Service、Broadcast,杀进程,监控等功能,这些功能都非常便捷调试程序。可以通过adb shell 进入Android 的Linux命令界面,输入am -help查看详细命令,先介绍几个简单用法,//使用Ac...

weixin_28870939的博客 2463

adb 之android的神器am

命令窗口通过adb shell 进入android 的Linux命令界面,输入am -help看到如下信息:     我们可以通过命令启动android中的Activity,Service,BroadcastReceiver 等组件   1. 拨打一个电话:       am start -a android.intent.action.CALL

不只是写代码的程序员 5575

android adb开启服务,android adb 启动activity、service,发送broadcast等操作

android adb 启动activity、service,发送broadcast等操作图片发自简书App一、adb启动activity:adb shellam start -n {包(package)名}/{包名}.{活动(activity)名称}如:启动浏览器adb shell am start -n com.android.browser/com.android.browser.Brows...

weixin_29029673的博客 5976
上一篇: INSTALL_FAILED_UPDATE_INCOMPATIBLE错误解决措施
下一篇: Android开发-使用pm命令进行package的管理,包括apk的安装和卸载(pm install && pm uninstall)
liranke
博客等级 码龄20年 4939粉丝 594原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liranke

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值