如何在 PhoneGap 应用启动时启动 Android 活动?

Posted

技术标签:

【中文标题】如何在 PhoneGap 应用启动时启动 Android 活动?【英文标题】:How to start an Android activity when a PhoneGap app launches? 【发布时间】:2014-03-21 09:11:57 【问题描述】:

我创建了一个扩展 Activity 的 MainActivity(也尝试扩展 CordovaActivity),并希望在启动 PhoneGap 应用程序时立即显示此 Activity。问题是,无论我尝试在各种配置等中进行什么调整,清单文件都会被部分覆盖,并且会显示一个加载 www\index.html 的 web 视图。

我可能不需要这个应用程序的很多原始 PhoneGap 功能,但我想使用 build.phonegap.com 来构建和部署它。

我想重写 Cordova webview 类以使其以新的意图启动我的活动可能是一个解决方案,但必须有另一种(配置)方法来解决这个问题?

androidManifest.xml(在 build.phonegap.com 之前):

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="1.0.0" android:windowSoftInputMode="adjustPan" package="com.mystuff.myapp" xmlns:android="http://schemas.android.com/apk/res/android">
        <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
        <uses-permission android:name="android.permission.INTERNET" />
        <application android:allowBackup="true" android:debuggable="true" android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
            <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:name="com.mystuff.myapp.MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />
                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
        </application>
        <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" />
    </manifest>

AndroidManifest.xml(在build.phonegap.com之后,在手机上用ManifestViewer):

<?xml version="1.0" encoding="utf-8"?>
    <manifest
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:versionCode="42"
        android:versionName="1.0.0"
        android:windowSoftInputMode="stateUnspecified|adjustPan"
        android:installLocation="auto"
        package="com.mystuff.myapp">
        <supports-screens
            android:anyDensity="true"
            android:smallScreens="true"
            android:normalScreens="true"
            android:largeScreens="true"
            android:resizeable="true"
            android:xlargeScreens="true"/>
        <uses-permission
            android:name="android.permission.INTERNET"/>
        <uses-permission
            android:name="android.permission.ACCESS_NETWORK_STATE"/>
        <application
            android:label="@2130968576"
            android:icon="@2130837504"
            android:debuggable="true"
            android:hardwareAccelerated="true">
            <activity
                android:label="@2130968576"
                android:name=".MyApp"
                android:screenOrientation="unspecified"
                android:configChanges="locale|keyboard|keyboardHidden|orientation|screenSize"
                android:windowSoftInputMode="stateUnspecified|adjustUnspecified">
                <intent-filter>
                    <action
                        android:name="android.intent.action.MAIN"/>
                    <category
                        android:name="android.intent.category.LAUNCHER"/>
                </intent-filter>
            </activity>
            <activity
                android:label="@2130968576"
                android:name="com.phonegap.DroidGap">
                <intent-filter/>
            </activity>
        </application>
        <uses-sdk
            android:minSdkVersion="7"/>
    </manifest>

【问题讨论】:

【参考方案1】:

不幸的是,它看起来无法完成;

http://community.phonegap.com/nitobi/topics/how_to_start_an_android_activity_when_a_phonegap_app_launches

【讨论】:

以上是关于如何在 PhoneGap 应用启动时启动 Android 活动?的主要内容,如果未能解决你的问题,请参考以下文章

如何在启动时更改 phonegap/cordova 状态栏背景(启动画面)?

如何阻止 iOS 启动图像在 Phonegap / Sencha Touch 中向上移动

如何使用 phonegap 构建同时支持纵向和横向启动屏幕?

在启动时加载外部链接的 Phonegap 应用程序 - Android

由于应用程序在启动时崩溃,Phonegap ios 应用程序被拒绝

在phonegap中启动时打开网址