工作笔记(1)--Android平板禁用虚拟按键
2014-11-04 17:32
507 查看
开发一个系统级应用,其中有一部分包含指纹注册,要求某个activity显示的时候,为了提升用户体验,需要禁用平板下方虚拟按键。网上搜索了很久,都没有确切的解决方法。思路是通过BroadcastReceiver广播收发机制,达到对虚拟按键的禁用效果。
下面是解决步骤:
1,底层修改系统设置,提供广播禁用和可用action,如<action android:name="android.intent.action.DISABLE_CONTROL"/> <category android:name="android.intent.category.DEFAULT"/>和<action android:name="android.intent.action.ENABLE_CONTROL"/><category android:name="android.intent.category.DEFAULT"/>。
2,在应用层,在需要禁用虚拟按键的activity中动态注册BroadcastReceiver以及发送广播。
1)创建过滤器和BroadcastReceiver实例。
private IntentFilter intentFilter = new IntentFilter("android.intent.action.DISABLE_CONTROL");
private HideSystemKeyReceiver hideSystemKeyReceiver = new HideSystemKeyReceiver();
2)在OnStart()方法里注册广播并发送广播。
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
registerReceiver(hideSystemKeyReceiver, intentFilter);
Intent intent = new Intent();
intent.setAction("android.intent.action.DISABLE_CONTROL");
sendBroadcast(intent);
}
3)创建内部类BroadcastReceiver,重写OnReceive()。
private class HideSystemKeyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
}
}
几番调试,终于测试成功通过,达到预期效果!
下面是解决步骤:
1,底层修改系统设置,提供广播禁用和可用action,如<action android:name="android.intent.action.DISABLE_CONTROL"/> <category android:name="android.intent.category.DEFAULT"/>和<action android:name="android.intent.action.ENABLE_CONTROL"/><category android:name="android.intent.category.DEFAULT"/>。
2,在应用层,在需要禁用虚拟按键的activity中动态注册BroadcastReceiver以及发送广播。
1)创建过滤器和BroadcastReceiver实例。
private IntentFilter intentFilter = new IntentFilter("android.intent.action.DISABLE_CONTROL");
private HideSystemKeyReceiver hideSystemKeyReceiver = new HideSystemKeyReceiver();
2)在OnStart()方法里注册广播并发送广播。
@Override
protected void onStart() {
// TODO Auto-generated method stub
super.onStart();
registerReceiver(hideSystemKeyReceiver, intentFilter);
Intent intent = new Intent();
intent.setAction("android.intent.action.DISABLE_CONTROL");
sendBroadcast(intent);
}
3)创建内部类BroadcastReceiver,重写OnReceive()。
private class HideSystemKeyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
}
}
几番调试,终于测试成功通过,达到预期效果!
相关文章推荐
- 工作学习笔记——Alljoyn技术、初试Android开发
- 某android平板项目开发笔记----aChartEngine图表显示(1)
- 某android平板项目开发笔记----aChartEngine图表显示(2)
- Android 4.0 虚拟按键、手机模式、平板模式
- Android工作学习笔记之图片自适应imageview属性android:scaleType
- 我的Android工作笔记
- 工作笔记 -- Android 中http请求session保持
- 某android平板项目开发笔记----aChartEngine图表显示(2)
- 某android平板项目开发笔记----aChartEngine图表显示(1)
- [转]Android笔记:Android判断用户是平板还是手机的方法
- 某android平板项目开发笔记----aChartEngine图表显示(1)
- 某android平板项目开发笔记--自定义sharepreference UI
- 某android平板项目开发笔记---计划任务备份
- 某android平板项目开发笔记----aChartEngine图表显示(1)
- 某android平板项目开发笔记----aChartEngine图表显示(2)
- Android工作学习笔记之SpannableString
- 某android平板项目开发笔记---计划任务备份
- 某android平板项目开发笔记----aChartEngine图表显示
- Android 4.0 虚拟按键、手机模式、平板模式
- Android菜鸟笔记-Android平板实现全屏模式隐藏虚拟键和状态栏