1

手动可以通过设置菜单来完成,但是是否有一个 API android 公开了通过一些函数调用来更改这个设置?

我想要实现的是在我的应用运行时禁用 TalkBack。更准确地说,我只想禁用 TalkBack 的“通过触摸浏览”功能。

所以这些都可以

a) 禁用辅助功能服务或
b) 禁用 TalkBack 或
c) 禁用 TalkBack 功能 通过触摸探索

4

2 回答 2

0

您可以通过简单地调用关闭辅助功能服务

disableSelf();

注意:这也会从设置中关闭服务。您需要重新从用户那里重新获取。
如果您想暂时关闭,请改用 Blazej Gawlik 方法。

于 2018-02-20T13:18:47.993 回答
0

这个有点晚了,但也许它会帮助某人。

在我的主要课程中,我为我的无障碍服务课程使用了一个意图。我有一个开关,我可以通过它传递一个布尔值来判断我是否想要访问权限

public class MainActivity extends AppCompatActivity {

Switch onOffSwitch;
Intent serviceIntent;

public void onOff(View view){
    if(onOffSwitch.isChecked()){
        Log.i("Main Switch", "Turn on please");
        serviceIntent.putExtra("onOffService", true);
    }
    else{
        Log.i("Main Switch", "Turn off please");
        serviceIntent.putExtra("onOffService", false);
    }

    this.startService(serviceIntent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    onOffSwitch = (Switch) findViewById(R.id.onOffSwitch);
    serviceIntent= new Intent(this, myService.class);

}
}

然后在 myService 类中,我会收到带有 onStartCommand 的意图。这对我来说似乎很好。

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    onOffService = intent.getBooleanExtra("onOffService", true);
    return super.onStartCommand(intent, flags, startId);
}

然后,我将使用布尔内部函数来确定我是否希望服务处于活动状态。希望这可以帮助!

于 2016-04-27T21:11:34.863 回答