我如何使用Android的ADB工具发送一个意图?
当前回答
试试这个,打开一个Android照片应用程序,并以特定的图像文件作为参数打开。
adb shell am start -n com.google.android.apps.photos/.home.HomeActivity -d file:///mnt/user/0/primary/Pictures/Screenshots/Screenshot.png
它将在最新版本的Android上运行。没有弹出窗口来选择一个应用程序打开,因为你正在给特定的应用程序,你想打开你的图像。
其他回答
Use:
adb shell am start -n '< appppackagename >/<appActitivityName>'
获取<appPackageName>
Adb shell PM列表包
获取<appActitivityName>午餐应用程序并运行
adb shell dump窗口| grep -E 'mCurrentFocus'
还有,我想再提一件事。
当你从adb shell am启动一个应用程序时,它会自动添加FLAG_ACTIVITY_NEW_TASK标志,使行为发生变化。请参阅代码。
例如,如果你从adb shell am启动一个Play Store活动,按下“后退”按钮(硬件后退按钮)不会带你回到你的应用程序。相反,它会带你到之前的Play Store活动,如果有一些(如果没有Play Store任务,那么它会带你回到你的应用程序)。FLAG_ACTIVITY_NEW_TASK文档说:
如果您正在启动的活动的任务已经在运行,那么新的活动将不会启动;相反,当前任务将被带到屏幕的前面,并显示它上次处于的状态
这让我花了几个小时来找出哪里出了问题。
因此,请记住adb shell am添加FLAG_ACTIVITY_NEW_TASK标志。
开发板的pct-syskeys 0
没有按键/显示的开发板需要这个参数:
adb shell monkey --pct-syskeys 0 -p com.cirosantilli.android_cheat.textviewbold 1
如果没有它,应用程序将无法打开,你将得到一个错误消息,如:
SYS_KEYS has no physical keys but with factor 2.0%
它在HiKey960和Android O AOSP上进行了测试。
教训:这个GitHub问题
在没有物理键的Android系统中,如何使用monkey命令?
我们也可以通过知道应用程序类型并为其提供数据来启动应用程序:
adb shell am start -d "file:///sdcard/sample.3gp" -t "video/3gp" -a android.intent.action.VIEW
此命令显示可用的*视频播放器来播放示例。3 gp文件。
Use:
adb shell am start -n '<appPackageName>/.<appActitivityName>
例子:
adb shell am start -n 'com.android.settings/.wifi.WifiStatusTest'
您可以使用APK-INFO应用程序来了解与每个应用程序包相关的应用程序活动列表。
推荐文章
- 这是在Android中获取用户位置的好方法
- Android从左到右幻灯片动画
- 如何检索视图的维度?
- 如何改变菜单项的文本颜色在安卓?
- Android选择器和文本颜色
- 视图绑定-我如何获得包含布局的绑定?
- 在Android Studio中改变矢量资产的填充颜色
- 在构建中编写注释的语法是什么?gradle文件?
- 如何以编程方式添加按钮色调
- 用Android Studio进行调试永远停留在“等待调试器”状态
- Openssl不被视为内部或外部命令
- 无法执行dex:在Eclipse中超过GC开销限制
- 如何以编程方式将视图添加到视图
- 单击url会打开默认浏览器
- 使用Retrofit刷新OAuth令牌,而不修改所有调用