你有什么想法?
我的应用程序在后台下载视频,如果下载尚未完成,我必须警告您不要关闭设备,例如当您关闭 Windows 并正在下载更新时。
Adriana 看一下Intent.ACTION_SHUTDOWN,我不确定您是否可以随心所欲地处理。
此外,这篇文章与此有关。
在 AndroidManifest.xml 中:
<uses-permission android:name="android.permission.PREVENT_POWER_KEY" />
<uses-permission android:name="android.permission.DEVICE_POWER"
tools:ignore="ProtectedPermissions" />
MainActivity.java 我拦截电源关闭按钮并强制关闭系统对话框并在其上方创建一个自定义视图
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_POWER) {
// Do something here...
event.startTracking(); // Needed to track long presses
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
sendBroadcast(closeDialog);
mViewCustom.setVisibility(View.VISIBLE);
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyLongPress(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_POWER) {
return true;
}
return super.onKeyLongPress(keyCode, event);
}