Titanium Android活动不维持状态

时间:2014-05-20 18:18:41

标签: android android-intent android-activity titanium intentfilter

我正在尝试设置一个移动网站,在Android浏览器中点击链接时会打开我的移动应用。为完成此任务,我在AndroidManifest.xml中添加了一个intent过滤器,如下面的代码所示:

<activity android:name=".MyAppActivity" android:label="@string/app_name" android:theme="@style/Theme.Titanium" android:configChanges="keyboardHidden|orientation" android:alwaysRetainTaskState="true" android:launchMode="singleInstance">
<intent-filter>
<data android:scheme="myapp" android:host="app"/>
<action android:name="android.intent.action.MAIN"/>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.LAUNCHER"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
</intent-filter>
</activity>

浏览器中的链接本身效果很好,我可以在使用Ti.Android.currentActivity首次打开应用程序时轻松收集参数。当应用程序已打开时,问题就出现了,但是用户单击链接以在移动浏览器中打开它。当我的应用程序打开时,我只是看到了闪屏,而不是在我之前停止的地方恢复。这有两个方面:如果我首先从移动浏览器打开应用程序,然后尝试从Android主屏幕或应用程序抽屉中恢复它,我只看到启动画面。我在互联网的其他地方看到的提示,我尝试将下面的代码添加到AndroidManifest.xml中(如上所示):

android:alwaysRetainTaskState="true" android:launchMode="singleInstance"

然而,这似乎对任何事情都没有影响,同样的问题仍然存在。我在这里错过了什么?任何帮助都将非常赞赏。

1 个答案:

答案 0 :(得分:1)

我所做的就像这样

<android xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="18"/>
    <manifest android:installLocation="preferExternal"
        android:versionCode="1" android:versionName="1.0">
        <uses-permission android:name="android.permission.CALL_PHONE"/>
        <application android:label="App Name" android:largeHeap="true">
            <activity
                android:configChanges="keyboardHidden|orientation|screenSize"
                android:label="@string/app_name"
                android:launchMode="singleTop"
                android:name=".mainActivity" android:theme="@style/Theme.Titanium">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN"/>
                    <category android:name="android.intent.category.LAUNCHER"/>
                </intent-filter>
                <intent-filter>
                    <action android:name="android.intent.action.VIEW"/>
                    <category android:name="android.intent.category.DEFAULT"/>
                    <category android:name="android.intent.category.BROWSABLE"/>
                    <data android:scheme="schemaname"/>
                </intent-filter>
            </activity>
        </application>
    </manifest>
</android>

它对我来说很好。对于Android 4.XX