我正在尝试打开一个对话框窗口,但每次我尝试打开它都会抛出此异常:
Uncaught handler: thread main exiting due to uncaught exception
android.view.WindowManager$BadTokenException:
Unable to add window -- token null is not for an application
at android.view.ViewRoot.setView(ViewRoot.java:460)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at android.app.Dialog.show(Dialog.java:238)
at android.app.Activity.showDialog(Activity.java:2413)
Run Code Online (Sandbox Code Playgroud)
我是通过showDialog显示器的id 调用来创建的.该onCreateDialog处理器记录良好,我可以通过它没有问题的一步,但因为它看起来像我想的东西我已经把它贴吧:
@Override
public Dialog onCreateDialog(int id)
{
Dialog dialog;
Context appContext = this.getApplicationContext();
switch(id)
{
case RENAME_DIALOG_ID:
Log.i("Edit", "Creating rename dialog...");
dialog = new Dialog(appContext);
dialog.setContentView(R.layout.rename);
dialog.setTitle("Rename " + noteName);
break;
default:
dialog = null;
break;
}
return dialog;
}
Run Code Online (Sandbox Code Playgroud)
这有什么不足之处吗?有些问题在创建对话框时已经讨论过这个问题onCreate …
android runtimeexception android-dialog android-windowmanager
我有用于显示MediaController的代码,但是当我调用Show()方法时,它给了我一个致命错误。
MediaPlayer本身在Service上工作,并从MediaPlayerControl接口获取Intent。
我的代码:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaController = new MediaController(this, false);
mediaController.setMediaPlayer(mediaPlayerControl);
mediaController.setAnchorView(findViewById(R.id.mediaController));
mediaController.setEnabled(true);
mediaController.show(0);
}
//implements MediaPlayerControl interface
private MediaPlayerControl mediaPlayerControl = new MediaPlayerControl()
{
//Override the methods to send Intent to the MediaPlayer Service
....
....
};
Run Code Online (Sandbox Code Playgroud)
我的logcat:
07-27 11:03:07.365:E / AndroidRuntime(328):致命例外:主要07-27 11:03:07.365:E / AndroidRuntime(328):java.lang.RuntimeException:无法启动活动ComponentInfo {com。 example.radius100fm / com.example.radius100fm.MainActivity}:android.view.WindowManager $ BadTokenException:无法添加窗口-令牌null无效;您的活动正在进行吗?07-27 11:03:07.365:E / AndroidRuntime(328):位于android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)07-27 11:03:07.365:E / AndroidRuntime(328):位于android。 app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)07-27 11:03:07.365:E / AndroidRuntime(328):at android.app.ActivityThread.access $ 1500(ActivityThread.java:117)07-27 11:03 :07.365:E / AndroidRuntime(328):位于android.app.ActivityThread $ H.handleMessage(ActivityThread.java:931)07-27 11:03:07.365:原因:android.view.WindowManager $ BadTokenException:无法添加窗口-令牌null无效;您的活动正在进行吗?07-27 …