从命令行打开特定 Activity
open specific Activity from command line
我正在尝试从命令行启动特定的 Activity。
我正在为 Android O (api 26) 构建应用程序,并且我尝试显式启动 activity 来模拟深度链接
activity 清单
<activity
android:name=".activities.ChatActivity"
android:label="@string/chat_action_bar_title"
android:launchMode="singleTask"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
我的包裹是:包裹="com.my.app"
我正在使用这个命令:
adb shell am start -n com.my.app.activities/.ChatActivity
我收到这个错误:
Starting: Intent { cmp=com.my.app.activities/.ChatActivity }
Error type 3
Error: Activity class {com.my.app.activities/com.my.app.activities.ChatActivity} does not exist.
我尝试添加
-a android.intent.action.VIEW
和
-c android.intent.category.DEFAULT
但我无法启动 activity,
我做错了什么?
您缺少子包和启动器意图。改成
adb shell start -n com.my.app/.activities.ChatActivity
因此,经过数小时的未知探索,我找到了解决方案。
在我的应用程序中,我使用一些 BuildVariants 来区分工作阶段。
所以不用命令
adb shell am start -n com.my.app.activities/.ChatActivity
我应该用过
adb shell am start -n com.my.app.MY_BUILD_VARIANT/com.my.app.activities.ChatActivity
感谢帮手
我正在尝试从命令行启动特定的 Activity。 我正在为 Android O (api 26) 构建应用程序,并且我尝试显式启动 activity 来模拟深度链接
activity 清单
<activity
android:name=".activities.ChatActivity"
android:label="@string/chat_action_bar_title"
android:launchMode="singleTask"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
我的包裹是:包裹="com.my.app"
我正在使用这个命令:
adb shell am start -n com.my.app.activities/.ChatActivity
我收到这个错误:
Starting: Intent { cmp=com.my.app.activities/.ChatActivity }
Error type 3
Error: Activity class {com.my.app.activities/com.my.app.activities.ChatActivity} does not exist.
我尝试添加
-a android.intent.action.VIEW
和
-c android.intent.category.DEFAULT
但我无法启动 activity,
我做错了什么?
您缺少子包和启动器意图。改成
adb shell start -n com.my.app/.activities.ChatActivity
因此,经过数小时的未知探索,我找到了解决方案。 在我的应用程序中,我使用一些 BuildVariants 来区分工作阶段。
所以不用命令
adb shell am start -n com.my.app.activities/.ChatActivity
我应该用过
adb shell am start -n com.my.app.MY_BUILD_VARIANT/com.my.app.activities.ChatActivity
感谢帮手