重新启动后阻止USB_DEVICE_ATTACHED启动应用程序
问题描述:
我有一个活动正在侦听USB_DEVICE_ATTACHED广播意图,当用户插入我的USB设备并选择我们的应用程序时启动。我的问题是android主机设备每天重新启动一次(通常在凌晨4点左右),此时连接的USB_DEVICE_ATTACHED意图也会自行启动。重新启动后阻止USB_DEVICE_ATTACHED启动应用程序
在这种情况下,我绝对不想开展我的活动,因为它不知道如何关闭自己。我怎样才能防止这种情况发生?我试图使用PowerManager.isScreenOn()布尔值不启动我的活动(目标是API 17),但它认为屏幕确实在打开。
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
if (powerManager.isInteractive()) {
startActivity(intent);
}
}
else{
//noinspection deprecation
if (powerManager.isScreenOn()) {
startActivity(intent);
}
}
答
我不认为你有足够的信息,以确定是否USB_DEVICE_ATTACHED广播是由于您的用户堵漏的东西,或者设备重启本身。
我会做的是在任何情况下启动Activity
并让Activity
自己关闭,如果用户在一段时间内(1分钟或10分钟或其他)没有执行任何操作。
是的,我在想这些方面。好吧! –
嘿,务实的解决方案仍然是解决方案! :-) –