我如何使用Android的ADB工具发送一个意图?


当前回答

还有,我想再提一件事。

当你从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标志。

其他回答

打开文件~/。bash_profile,并将这些Bash函数添加到文件的末尾

function androidinstall(){
   adb install -r ./bin/$1.apk
}

function androidrun(){
   ant clean debug
   adb shell am start -n $1/$1.$2
}

然后打开Android项目文件夹:

androidinstall app-debug && androidrun com.example.app MainActivity

或者,你可以用这个:

adb shell am start -n com.package.name/.ActivityName

第一步:首先获取设备中安装的所有应用程序的软件包名称,使用:

adb shell pm list packages

步骤2:您将获得所有包的名称。复制您想要使用ADB启动的文件。

步骤3:在下面的命令中添加所需的包名称。

adb shell monkey -p 'your package name' -v 500

例如,

adb shell monkey -p com.estrongs.android.pop -v 500

启动Es explorer。

Use:

adb shell am start -n '<appPackageName>/.<appActitivityName>

例子:

adb shell am start -n 'com.android.settings/.wifi.WifiStatusTest'

您可以使用APK-INFO应用程序来了解与每个应用程序包相关的应用程序活动列表。

还有,我想再提一件事。

当你从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标志。