如何在后台使用onKeyLongPress或类似服务?

问题描述 投票:0回答:1

如何在后台使用onKeyLongPress或类似服务?我想从另一个应用程序开始我的活动(只需按下后退键)。所以。我不知道应该在哪里使用这个回调:在服务中或在活动中。

Service

public class ViewService extends Service implements android.view.KeyEvent.Callback  {

    @Override
    public void onCreate() {
        super.onCreate();
    }


    @Override
    public IBinder onBind(Intent intent) {
        return null;
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        return false;
    }

    @Override
    public boolean onKeyLongPress(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK)
        {
            Intent intent = new Intent( ViewService.this, MainActivity.class);
       startActivity(intent);
            return true;
        }
        return false;
    }

    @Override
    public boolean onKeyUp(int keyCode, KeyEvent event) {
        return false;
    }

    @Override
    public boolean onKeyMultiple(int keyCode, int count, KeyEvent event) {
        return false;
    }
}
android android-intent service
1个回答
0
投票

如何在后台使用onKeyLongPress或类似服务?

AFAIK,这是不可能的,除了可能来自可访问性服务。用户不太可能同意允许您的应用程序作为辅助功能服务,监控所有输入,以便他们可以通过长按BACK按钮启动某些活动。

我想从另一个应用程序开始我的活动(只需按下后退键)

可以用作触发器的唯一库存按钮是:

  • CAMERA按钮,用于具有一个的设备
  • SEARCH按钮,用于有一个设备(只有长按按钮)
  • MEDIA按钮,用于具有一个的设备,通常通过遥控器或耳机

用户通常希望CAMERA按钮和MEDIA按钮分别控制相机和媒体播放器。

© www.soinside.com 2019 - 2024. All rights reserved.