我想知道用户在运行我的应用时按下主页按钮的时间。
但:
问题是我不想编辑现有的代码。
意思是我不想在现有活动onPause()
方法中添加逻辑。
我找到的唯一解决方案是向应用程序添加一项服务,该服务监听日志检测是否有意图运行
HOME:开始:意图{act = android.intent.action.MAIN 猫= [android.intent.category.HOME]
还有其他办法吗,还是真的不可能? 最佳解决方案是在 Manifest.xml 中捕获一个意图,如:
动作android:name =“android.intent.category.HOME”
并实现一个新类来捕获它。 (但它似乎没有抓住它。)
答案 0 :(得分:1)
我想知道用户在运行我的应用时按下主页按钮的时间。
你想要达到什么目的?
但是:问题在于我不想编辑现有的代码。
根据定义,这是不可能的。
我找到的唯一解决方案是向应用程序添加一项服务,该服务监听日志检测是否有意图运行
这是修改代码,违反了您自己的要求。此外,它需要一个你不应该要求的许可。
还有其他办法可以做到这一点还是真的不可能?
这取决于你想要达到的具体目标。
最佳解决方案是在Manifest.xml中捕获一个intent ...并实现一个新类来捕获它。 (但它似乎没有抓住它。)
HOME
是一个类别。这不是行动。主屏幕是响应MAIN
类别中的HOME
操作的活动。但是,它正在修改代码,违反了您自己的要求。
答案 1 :(得分:0)
您可以使用按键事件处理程序
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_HOME) {
// Home key pressed
} else {
return super.onKeyDown(keyCode, event);
}
return false;
}