AlertDialog不能用ApplicationContext
最近在写代码的过程中发现在源码中弹一个alertdialog报错了,窗口没有依附的token,后来查了一个我的context传的是ApplicationContext。查找了一下源码中的关机的dialog弹出方式是通过调用shutdown方法传入的context。
shutdown(final Context context, String reason, boolean confirm)
源码如下:
frameworks/base/services/core/java/com/android/server/power/ShutdownThread.java
if (confirm) {
final CloseDialogReceiver closer = new CloseDialogReceiver(context);
if (sConfirmDialog != null) {
sConfirmDialog.dismiss();
}
sConfirmDialog = new AlertDialog.Builder(context)
.setTitle(mRebootSafeMode
? com.android.internal.R.string.reboot_safemode_title
: com.android.internal.R.string.power_off)
.setMessage(resourceId)

最低0.47元/天 解锁文章
4471

被折叠的 条评论
为什么被折叠?



