我想通过按下物理按钮(家庭,后面,菜单......)从我的服务中启动一个方法 如果用户长按其中一个按钮,则该服务应调用方法。如何为我的案例实现广播接收器或听众?
答案 0 :(得分:2)
不要认为您可以自定义长按主页按钮 - 参考增强请求:http://goo.gl/fWbYt
然而,您可以自定义长按其他硬按钮:http://android-developers.blogspot.in/2009/12/back-and-other-hard-keys-three-stories.html
答案 1 :(得分:1)
服务无法访问UI线程。您可以做的一件事是让活动注册onlongclick侦听器,然后使用广播接收器或服务的onStart(Intent intent)向服务广播意图。
答案 2 :(得分:0)
您应该尝试以下代码:
public class MyActivity extends Activity {
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.content_layout_id);
final Button button = (Button) findViewById(R.id.button_id);
button.setOnLongClickListener(new View.OnLongClickListener() {
public boolean onLongClick(View v) {
// Perform action on click
return true;
}
});
}
}