- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您好,我正在使用以下代码
private boolean statusUSB = false;
private final BroadcastReceiver usbReceiver = new BroadcastReceiver() {
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if (action != null) {
switch (action) {
case UsbManager.ACTION_USB_DEVICE_DETACHED:
final UsbDevice detDevice = (UsbDevice) intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
final String detMsg="Device DEtached";
statusUSB = false;
Toast.makeText(context, "USB Disconnected", Toast.LENGTH_SHORT).show();
break;
case UsbManager.ACTION_USB_DEVICE_ATTACHED:
case UsbManager.ACTION_USB_ACCESSORY_ATTACHED:
final UsbDevice attDevice = (UsbDevice) intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
final String attMsg="Device atached";
statusUSB = true;
Toast.makeText(context, "USB Connected", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
}
}
};
为了检测 USB 端口何时连接或断开,除此之外我还插入了一个标志:
statusUSB
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate( R.menu.main, menu );
if (statusUSB == true){
// Opcion1
}
if (statusUSB == false){
//Opcion2
}
return true;
}
事实是,当 USB 端口连接和断开连接时,Android 会检测到这两种情况,但标志不会改变,或者我无法在我的菜单中读取这个值,我做得很好吗?或者有另一种方法来提供这个标志?
最佳答案
onCreateOptionsMenu()
只被调用一次,第一次显示选项菜单。您正在尝试更新此处的菜单状态,这将不起作用。
要在每次显示时更新菜单,您应该使用 onPrepareOptionsMenu(Menu)
。
@Override
public void onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
if (statusUSB == true){
// Update menu
}
if (statusUSB == false){
// Update menu
}
}
关于android - 关于BroadcastReceiver的疑惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52958546/
我有以下变量: string str1 = "1"; string str2 = "asd"; string str3 = "3.5"; string str4 = "a"; 现在我需要找到每个字符串
这个问题在这里已经有了答案: Is Java "pass-by-reference" or "pass-by-value"? (92 个回答) 关闭 8 年前。 public class progr
我对这种行为有些疑惑。谁能解释一下 void Decrement(int* x){ *x--; //using this line, the output is 5
您好 StackOverflow 用户(或 Stackoverflowers?): 我正在通过编写 WPF 代码来学习。我阅读了几篇文章/看到了几个截屏视频,并且来自 WEB 开发背景,我启动了 VS
在阅读 HTML5 IndexedDB Specification 时我对它的异步请求模型有些怀疑。查看 request api example 时, open 方法用于启动异步请求。 var req
有几个问题,首先是这个方法,它将 int[] 转换为 byte[]: public static byte[] intToByte(int[] input){ ByteBuffer byteB
我是一名优秀的程序员,十分优秀!