问题标签 [android-homebutton]

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 投票
0 回答
1561 浏览

android - Android startActivity 与 HOME 按钮

我有一个主要活动。在我声明的 AndroidManifest 中。

这应该把我带到这个活动中,每次应用程序以 HOME 按钮结束并调用 onRestart() 时,对吗?

此外,我的主要活动通过使用开始了一些其他活动

调用此函数后,mainactivity 进入 onStop(),如果我在 ChildActivity 中按 Back,则 mainactivity 进入 onRestart(..)。是否没有机会在我的主要活动中决定用户是按下 ChildActivity 还是按下 Home?

0 投票
3 回答
7497 浏览

android - 按下主页后应用程序崩溃。无法暂停 - 派生类未调用 super.onSaveInstanceState()

当我按下主页按钮时,应用程序应该暂停,保存所有状态并正常工作。相反,我收到此错误:

java.lang.RuntimeException:无法暂停活动 {be.test.tester/be.test.tester.DataScreen}:java.lang.IllegalStateException:派生类未在 android.app.ActivityThread.performPauseActivity 调用 super.onSaveInstanceState() (ActivityThread.java:3641) 在 android.app.ActivityThread.performPauseActivity(ActivityThread.java:3598) 在 android.app.ActivityThread.handlePauseActivity(ActivityThread.java:3574) 在 android.app.ActivityThread.access$2500(ActivityThread.java :136) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2186) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:143)在 android.app.ActivityThread.main(ActivityThread.java:5068) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:521) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 在 dalvik.system.NativeStart .main(本机方法)

原因:java.lang.IllegalStateException:派生类没有在 android.view.View.dispatchSaveInstanceState(View.java:6087) 在 android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:1207) 处调用 super.onSaveInstanceState() android.view.ViewGroup.dispatchSaveInstanceState(ViewGroup.java:1207) 在 android.view.View.saveHierarchyState(View.java:6068) 在 com.android.internal.policy.impl.PhoneWindow.saveHierarchyState(PhoneWindow.java:1475)在 android.app.Activity.onSaveInstanceState(Activity.java:1106) 在 android.app.Activity.performSaveInstanceState(Activity.java:1056) 在 android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1289) 在 android.app。 ActivityThread.performPauseActivity(ActivityThread.java:3623) ... 12 更多

我的活动对触摸做出反应:

我从意图中得到了一些额外的东西:

自定义视图正在显示数据(画布)。当您在屏幕上滚动时,自定义视图(set、get 方法)中的数据会发生变化并自行重绘。

我在这里并没有真正管理 onSaveInstanceState ,我真的不知道我是否必须这样做。

我的应用程序位于堆栈顶部,因为:

我不明白这个错误。

0 投票
2 回答
12796 浏览

android - Android - 当用户按下主页按钮时如何退出应用程序?

我想知道当用户按下主页按钮时如何退出应用程序。

据我所知,Home Button 在后台移动正在运行的应用程序并将 Launcher 进程放在前面。

我知道我可以使用 finish() 但我不知道应该在哪里调用它,因为我不知道当用户按下 Home 键时哪个函数会被调用。

谢谢。

0 投票
2 回答
1691 浏览

android - Android 上的 Admob - 恢复活动时未覆盖状态栏区域

我在尝试在我的应用程序中实现 Admob 时遇到了非常讨厌的错误。我认为问题出在我的代码中,但经过一番调查后,我发现它也出现在 Android-Banner-Essentials 示例中(可在此处下载)。我想知道是否有人遇到过这个问题,或者可能知道如何处理它。

基本上,当应用程序同时禁用状态和标题栏时,它应该使用全屏。Banner Essentials 示例仅在可用区域的最顶部显示 Admob 横幅。我下载了这个例子,只改变了两件事:

  • 添加了我的发布商 ID 以正确编译并接收任何广告;)
  • 向活动的清单添加了一个参数以禁用标题和状态栏: android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

编译后的二进制文件,无论在什么设备上启动(尝试过 Nexus One、G1、Desire、不同的 Android 版本),都会受到相同问题的影响:

  • 显示广告横幅时,按主页,
  • 回到主屏幕后,按住主屏幕可查看最近启动的应用程序,
  • 选择回 Banner Essentials 应用程序。

我的测试表明,50% 的复制机会 Admob 横幅不会回到它的位置 - 屏幕的最顶部。为了更好地表达我的意思,我准备了三个屏幕截图:

http://img841.imageshack.us/g/correctz.png/

重要通知:

  • 当应用程序正常恢复时,banner 会显示在状态栏的正下方,并向上滑动直到与屏幕顶部边框对齐,
  • 当出现错误时,横幅根本不动,
  • 我无法通过任何其他中断(按返回、电源按钮)重现该问题,
  • 我认为它可能以某种方式与获得/失去焦点有关(见截图)。

我的应用程序比 Banner Essentials 复杂一些,所以我开始在我的代码中搜索问题,但没有运气,因此试图尽可能简化情况,结果如下。

有谁知道可能导致问题的原因?也许必须设置一些额外的标志或属性来处理这种行为?

0 投票
3 回答
2370 浏览

android - 在android的主页按钮中需要帮助

大家好,我想拦截我的主页按钮。
我想要的是,每当我按下主页按钮时,我都想显示一个警报对话框,提示您确定要退出。如果是,则完成活动,否则什么也不做。我必须知道,
每当我们按下 Home 按钮时,都会按顺序执行以下回调。

onSaveInstanceState(捆绑 outState)

暂停()

停止()

所以我有 overRide onSaveInstanceState 方法并在那里设置我的警报对话框代码,但它给了我对话框上的异常。请朋友帮忙。指导我一个律...关于它。

更新:

displayAlertDialog 方法:

0 投票
1 回答
316 浏览

android - 智能检测应用程序后台

我正在寻找一种方法来检测我的 android 应用程序是否已在后台运行,以便Activity在按下 Home 键(或堆栈中最后一个活动的返回键)时无论哪个正在运行,都会调用指定的函数。

onPause()并且onStop()无法区分替换当前活动的新活动和正在后台运行的应用程序,因此我正在寻找有关我必须包括哪些额外测试来确定这一点的建议。

0 投票
2 回答
3827 浏览

android - 改变 getRecentTasks 的结果

我有一个专为工作场所中的平板电脑设计的应用程序,许多人会在日常工作中使用相机。虽然主管离开应用程序是适当且必要的,但其他人应该很难不小心这样做。但是,长按主页键很容易意外。我自己做过。这会列出最近的任务;用户可以点击其中任何一个,但他们会迷路,因为其中一些不像普通的智能手机用户那么复杂。

以编程方式,您可以通过 getRecentTasks 检索此列表。我的问题是如何从该列表中删除除最近的任务(我的)以外的所有任务,将长度减少到一个元素,或者将列出的任务更改为指向我的应用程序。我知道这是可能的:Toddler Lock 做到了。

我的第一次尝试是修改返回的意图,希望它们通过引用传递。没有这样的运气。还有其他想法吗?

(我不是在谈论短按主页键。我已经想出了一个,部分基于这里找到的东西。)

0 投票
3 回答
1329 浏览

android - 按下主页按钮时如何停止播放音频?

我的应用程序总是在服务中运行背景音频。当我单击主页按钮时,控件返回主屏幕,但音频继续播放。

那么,如何在单击主页按钮时停止播放音频?

0 投票
3 回答
5844 浏览

android - Android Home 活动启动子活动

我对 Android 编程比较陌生。我在工作中被分配了一项任务,我需要创建一个自定义主页活动启动器。我做了一些研究,并在 Android 开发者网站(主页示例)上找到了该示例。这是我原型的开始。

自定义 Home 活动将需要用户进行身份验证(输入一些简单的凭据)。我的想法是从 Home 活动启动一个子活动,并将意图中的结果传递回 Home 活动。我需要能够捕获有关这些凭据的信息,并且该信息将被传递回 Home 活动。但是,我在尝试这个时遇到了问题。我在 LogCat 中收到一条日志,内容如下:“活动正在作为新任务启动,因此取消活动结果。”

我知道 startActivityForResult 方法,但这似乎对我不起作用。这是我从 Home 活动启动活动的地方:

当该代码执行时,我从 ActivityManager 标记中获取上述日志。

我的登录活动有一个按钮,用户输入凭据后将点击该按钮。如果凭据很好,那么我尝试执行以下操作(我输入了几个日志,以便我可以尝试找出发生了什么):

我在清单文件中将这些活动定义如下:

我正在使用登录活动的意图过滤器。我最初将其设置为空。我也有 launchMode 空白(我相信默认为标准)。我已经使用了这些选项中的大多数,但似乎没有任何改变 ActivityManager 似乎想要将活动作为新任务启动并想要忽略返回的意图(我需要)的事实。

0 投票
2 回答
1058 浏览

android - onClick HOME键在android中显示警告框

我真诚地尝试显示alert boxonClick Home key,但我没有成功。所以请帮我写代码,否则请给我看代码。