android:如何使用am从命令行启动本机活动



我知道我可以使用这样的东西来启动Java活动

am start -a android.intent.action.MAIN -n com.example.hellojni/
com.example.hellojni.HelloJni

原生活动怎么样???我尝试使用AndroidManifest.xml中找到的android:name中的类似-n参数,但它总是告诉我Activity class不存在。

除了您将 android 应用程序 uri 用于活动而不是用于您覆盖活动的 uri 之外,它的工作方式几乎相同。 请注意android.intent.action.MAIN和android.intent.action.LAUNCHER都为我工作。

am start -a android.intent.action.MAIN -n com.example.hellojni/android.app.NativeActivity

您可以使用所显示的意图启动它,只要它在应用程序清单中声明为可从启动器访问:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

可以使用属性"android:name"中声明的名称为活动启动它。有关详细信息,请查看原生活动的 SDK。

但是,在您使用的示例中,它不是本机活动,而是具有链接本机库(NDK 中包含的示例)的常规活动。

我希望这有帮助!

最新更新