可以通过adb shell启动活动吗?
我想通过adb shell启动活动。 以便我可以启动所需的特定活动
启动adb shell并input命令如下
am start -n yourpackagename/.activityname
adb shell am broadcast -a android.intent.action.xxx
提到xxx作为你在清单文件中提到的动作。
例如,这将启动XBMC:
adb shell am start -a android.intent.action.MAIN -n org.xbmc.xbmc/android.app.NativeActivity
(更一般的答案已经发布,但我错过了一个很好的例子。)
我像AndroidStudio一样运行它:
am start -n "com.example.app.dev/com.example.app.phonebook.PhoneBookActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
如果你有类似dev
产品风格 ,它应该只出现在应用程序包名称中,但不应该出现在活动包名称中。
对于模拟器,它在AndroidManifest.xml
活动中没有android:exported="true"
标志,但是我发现将它添加到无根据的物理设备以使其工作是有用的。
例如:
MyPackageName是com.example.demo
MyActivityName是com.example.test.MainActivity
adb shell am start -n com.example.demo/com.example.test.MainActivity
(将这个作为上面的注释添加,但没有足够的声望…)您也可以使用find当前屏幕活动的名称
adb shell dumpsys window windows | grep 'mCurrentFocus'