Android 应用程序在 75 秒后自动销毁

发布于 2024-12-14 08:27:50 字数 1317 浏览 1 评论 0原文

我正在开发应用程序,它可以作为其他应用程序的启动中心。事实是,我的应用程序总是在任何其他外部活动从其启动并保持活动状态后约 75 秒后被系统销毁。

例如,我正在启动浏览器,或其中包含选择器的任何活动。然后等待 75 秒,然后按后退按钮即可返回主页。通过选择器活动,我什至可能会看到我的应用程序在后台退出。

我该如何避免这种情况,可能是什么原因?我的猜测是我应该对发起的活动有某种亲和力,但我可能是错的。

以下是我如何描述我的活动。该应用程序在市场上称为Speaktoit Assistant,您可以测试一下。

<activity 
android:name="com.speaktoit.assistant.main.MainActivity" 
android:theme="@style/Theme.DoNotDim"
android:windowSoftInputMode="stateHidden|adjustPan"
android:configChanges="orientation|keyboardHidden" 
android:launchMode="singleTop">     
</activity>

<activity 
android:name="com.speaktoit.assistant.SplashActivity"
android:label="Assistant" 
android:theme="@android:style/Theme.Light.NoTitleBar"
android:screenOrientation="portrait" 
android:configChanges="keyboard|keyboardHidden|orientation"
android:finishOnTaskLaunch="true" 
android:noHistory="true"
android:launchMode="singleTop">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

更新: 好的,看起来系统停止了我的应用程序并将其返回到初始启动器活动,并且由于 SplashActivity 是 finishOnTaskLaunch="true",所以它就存在。问题是如何让android返回到MainActivity而不是...

更新2: 好的,我发现killTask​​ 埋在代码中。问题解决了:)。

I am developing app, which works as kind of launching hub for other applications. Thing is, my application is always destroyed by system after about 75 seconds after any other external activity is launched from it and stays active.

For instance I am launching browser, or any activity with chooser in it. Then waiting for 75 seconds and back button will take me to Home. With chooser activity I even may see my application exits in background.

How do I avoid this, what may be the reason? My guess is I should have some sort of affinity with launched activities, but I may be wrong.

Here is how I describe my activities. The app is called Speaktoit Assistant on the market you can test it.

<activity 
android:name="com.speaktoit.assistant.main.MainActivity" 
android:theme="@style/Theme.DoNotDim"
android:windowSoftInputMode="stateHidden|adjustPan"
android:configChanges="orientation|keyboardHidden" 
android:launchMode="singleTop">     
</activity>

<activity 
android:name="com.speaktoit.assistant.SplashActivity"
android:label="Assistant" 
android:theme="@android:style/Theme.Light.NoTitleBar"
android:screenOrientation="portrait" 
android:configChanges="keyboard|keyboardHidden|orientation"
android:finishOnTaskLaunch="true" 
android:noHistory="true"
android:launchMode="singleTop">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

UPDATE:
Ok, Looks like system halts my app and returns it to initial launcher activity and since SplashActivity is finishOnTaskLaunch="true", then it just exists. Question is how make android to return to MainActivity instead ...

UPDATE 2:
Ok, I have found killTask buried in the code. Problem solved :).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酒绊 2024-12-21 08:27:50

您是否尝试删除单点启动模式?

Did you try removing singletop launchmode?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文