Home » Android » android – Is it possible to start activity through adb shell?

android – Is it possible to start activity through adb shell?

Posted by: admin March 11, 2020 Leave a comment

Questions:

I want to start activity through adb shell. So that I can launch a specific activity that is needed

How to&Answers:

Launch adb shell and enter the command as follows

am start -n yourpackagename/.activityname

Answer:

eg:

MyPackageName is com.example.demo

MyActivityName is com.example.test.MainActivity

adb shell am start -n com.example.demo/com.example.test.MainActivity

Answer:

I run it like AndroidStudio does:

am start -n "com.example.app.dev/com.example.app.phonebook.PhoneBookActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER

If you have product flavour like dev, it should occur only in application package name but shouldn’t occur in activity package name.

For emulator, it works without android:exported="true" flag on activity in AndroidManifest.xml but I found it useful to add it for unrooted physical device to make it work.

Answer:

You can also find the name of the current on screen activity using

adb shell dumpsys window windows | grep 'mCurrentFocus'

Answer:

adb shell am broadcast -a android.intent.action.xxx

Mention xxx as the action that you mentioned in the manifest file.

Answer:

For example this will start XBMC:

adb shell am start -a android.intent.action.MAIN -n org.xbmc.xbmc/android.app.NativeActivity

(More general answers are already posted, but I missed a nice example here.)