I have 2 activities, A and B. When A starts, it checks for a condition and if true, it calls startActivityForResult() to start B. B only takes text input so it
startActivityForResult()
What worked best for me is in Android Manifest for activity B adding
android:windowSoftInputMode="stateVisible"
Hope that helps for you as well.