问题标签 [android-activity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5285 浏览

java - 按下主页按钮时在android中保存活动状态

我遇到了与 home 键相关的问题。当我按下主页键时,当前活动被隐藏,但是当我再次启动可执行文件时,它从第一个屏幕开始。我已经覆盖了所有方法(onSaveInstanceState、onPause、onStop onResume),但仍然存在问题。处理这个问题的正确方法是什么?

当我按下主页按钮时,我将小部件状态存储在数据库中,当我再次启动可执行文件时,我正在检查数据库状态并启动用户按下主页按钮时保存的新 Intent。这是正确的方法吗,因为当用户执行相同操作并再次按下后退按钮时我面临问题,活动堆栈中已经有可用的意图。

0 投票
2 回答
21443 浏览

android - 如何在 Activity 重新启动时保留复杂对象?

假设我有一个可序列化的 Java Bean 对象。当 Activity 故意通过 onDestroy()(即调用 onSaveInstanceState()),我想将其安全地存储起来。

我正在寻找一种不涉及创建数据库并将对象写入该数据库的方法(主要是因为 a)Android 的 DB API 很糟糕,b)因为数据库使应用程序更新成为一场噩梦,因为没有像样的支持应用迁移)。

我考虑将对象序列化为 ByteArrayOutputStream,base64 对其进行编码并将其作为字符串写入 SharedPreferences 文件。还是离得太远了?

更新

也许这个序列化到字符串的想法毕竟不是那么糟糕,似乎效果很好。这就是我现在正在做的事情:

在 onDestroy() 中,我可以简单地将 Base64 字符串写入首选项文件,在下一次活动启动期间再次读取之前,它是安全的。它比我预期的要快得多,除非你的 bean 携带大量数据,否则它工作得很好。更好的是,您不必维护数据库模式。

不过,我很好奇其他人是如何做到这一点的。

0 投票
3 回答
69545 浏览

java - Android“单顶”启动模式和onNewIntent方法

我在 Android 文档中读到,通过将我的 Activity 的 launchMode 属性设置为 singleTop 或通过将FLAG_ACTIVITY_SINGLE_TOP标志添加到我的 Intent,该调用startActivity(intent)将重用单个 Activity 实例并在onNewIntent回调中给我 Intent。我做了这两件事,onNewIntent从来没有onCreate每次都开火。文档还说,它this.getIntent()返回第一次创建时第一次传递给 Activity 的意图。在onCreate我打电话getIntent时,我每次都会得到一个新的(我在另一个活动中创建意图对象并添加一个额外的对象......如果它返回相同的内容,那么这个额外的对象每次都应该是相同的意图对象)。所有这一切让我相信我的活动不像“单顶”,我不

为了添加一些背景信息,以防我只是错过了一个必需的步骤,这是我在清单中的 Activity 声明和我用来启动 Activity 的代码。Activity 本身在这方面没有做任何值得一提的事情:

在 AndroidManifest.xml 中:

在我的通话活动中:

0 投票
2 回答
3171 浏览

android - 活动组抛出ActivityNotFoundException?

我想在选项卡活动中更改选项卡内的当前活动,

经过一番研究,我知道我需要使用活动组去这个。

ActivityGroup然后我使用以下代码创建了一个新类扩展:

然后我运行程序,程序在ActivityNotFoundException启动选项卡的意图时抛出

我不知道如何解决这个问题,有人可以帮助我吗?

0 投票
1 回答
1216 浏览

android - 覆盖 Android 中的 Activity/Task 行为

我正在编写一个简单的 Android 应用程序,我希望更好地控制活动之间的导航/关系。我不希望我的活动表现得像 android 活动......我不希望它们在任务中堆积。我希望一个Activity(我们称之为MainActivity)作为着陆点并始终位于堆栈的底部,并且我希望我的第二个活动的一个实例(称之为SecondActivity)在堆栈中位于它的上方......会也很高兴重用它。我想我可以通过使MainActivity成为“主要”来获得这种行为Activity,并将它们都声明为launchMode=singleTop. 这根本行不通。我使用菜单在它们之间提供导航,所以当我来回多次并退出应用程序时,我会浏览整个堆栈。

Activity对任务堆栈进行精细控制的最佳方法是什么?我希望MainActivity始终退出应用程序,而SecondActivity始终返回到 MainActivity 的单个实例。同样,我很想让 singleTop 工作,所以我会使用onNewIntent而不是每次都创建和销毁。使用清单以及意图标志是行不通的。有任何想法吗?

0 投票
2 回答
7383 浏览

android - Android - 在活动之间导航时清除历史记录

我有 3 个活动,我的用户不断循环。当用户返回主屏幕时,我需要终止以前的历史记录,这样用户就不能点击返回按钮并最终出现在屏幕 #2 上,有什么好的方法来做这样的事情?顺便说一句 - 我使用的是 1.6(API 级别 4)

重申一下 - 说我不知道​​或预测导致我到达原始视图的路径。但是一旦我加载它,我想清除导致用户进入该视图的历史记录。在 2.0 中可以覆盖 Activity#onBackPressed 但我在 1.6 中需要类似的东西

0 投票
3 回答
6810 浏览

android - 如何启动预先填写“收件人”字段的电子邮件应用程序?

我尝试了在这里找到的代码:

但我在屏幕上收到一条消息,上面写着“不支持的操作”。关于如何使它工作的任何想法?

谢谢!

0 投票
2 回答
1376 浏览

android - 在 Android 上通话结束时启动活动

我想在电话结束时启动一项活动。找不到任何参考。我该怎么做?

0 投票
2 回答
998 浏览

android - 是否可以从 AlertDialog 启动 Android Activity?

我正在尝试在我的 Android 应用程序中创建一个小弹出窗口,让用户从许多项目中进行选择,例如 ListView。我希望让它显示为一个覆盖在屏幕上的半透明框,而不是像活动通常那样完全占据它。

我听说的一种方法是在 AlertDialog 框中启动一个活动。这将是完美的 - 它是理想的尺寸并且具有我正在寻找的许多机械性能,但我完全无法找到该技术的更多细节。

这可能吗?如果不是,那么完成这样的事情的首选方法是什么?

0 投票
2 回答
2509 浏览

android - Android - 来自服务的活动?

我正在扩展 IntentService 类以在 Android 上运行后台服务。该服务在启动后立即启动。我想定期从该服务中弹出一个用户输入框。所以,我尝试从服务中调用一个 Activity,但它没有帮助。可怕的强制关闭框出现,服务终止。有人可以建议一些从后台服务调用活动的方法吗?

谢谢!