手动可以通过设置菜单来完成,但是是否有一个 API android 公开了通过一些函数调用来更改这个设置?
我想要实现的是在我的应用运行时禁用 TalkBack。更准确地说,我只想禁用 TalkBack 的“通过触摸浏览”功能。
所以这些都可以
a) 禁用辅助功能服务或
b) 禁用 TalkBack 或
c) 禁用 TalkBack 功能 通过触摸探索
手动可以通过设置菜单来完成,但是是否有一个 API android 公开了通过一些函数调用来更改这个设置?
我想要实现的是在我的应用运行时禁用 TalkBack。更准确地说,我只想禁用 TalkBack 的“通过触摸浏览”功能。
所以这些都可以
a) 禁用辅助功能服务或
b) 禁用 TalkBack 或
c) 禁用 TalkBack 功能 通过触摸探索
您可以通过简单地调用关闭辅助功能服务
disableSelf();
注意:这也会从设置中关闭服务。您需要重新从用户那里重新获取。
如果您想暂时关闭,请改用 Blazej Gawlik 方法。
这个有点晚了,但也许它会帮助某人。
在我的主要课程中,我为我的无障碍服务课程使用了一个意图。我有一个开关,我可以通过它传递一个布尔值来判断我是否想要访问权限
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);
}
然后,我将使用布尔内部函数来确定我是否希望服务处于活动状态。希望这可以帮助!