3

我想创建一个 android 应用程序,让用户玩需要通过按键输入倾斜屏幕的游戏。按下某个键时是否可以模拟加速度计数据?同时,当我的应用程序运行时,我可以用一些代码禁用真正的加速度计吗?

编辑:我忘了提到我可以访问完整的 android 源代码以及内核源代码,所以我什至可以添加特定代码或创建一些 java 代码来禁用或“伪造”加速度计输入源。

4

2 回答 2

1

你不能。

加速度计是一项系统服务,您无法控制其他应用程序如何使用它,因此您无法禁用/覆盖它。

通过将数据写入 /dev/ 部分的适当部分,可以在有根设备上伪造值,但我不知道那是哪一部分。

于 2013-03-24T00:51:46.157 回答
1

按照教程,您可以轻松禁用加速度计。

注意线条

package com.badlogic.drop;

import android.os.Bundle;

import com.badlogic.gdx.backends.android.AndroidApplication;
import com.badlogic.gdx.backends.android.AndroidApplicationConfiguration;

public class AndroidLauncher extends AndroidApplication {
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      AndroidApplicationConfiguration config= new AndroidApplicationConfiguration();
      config.useAccelerometer = false;
      config.useCompass = false;

      initialize(new Drop(), config);
   }
}

链接中的教程适用于 libgdx,而 libgdx 是一个 Java 游戏开发框架,它提供了一个统一的 API,适用于包括 android 在内的所有受支持的平台。

于 2015-10-13T14:43:29.717 回答