我有这段代码用于显示 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
....
....
};
我的日志猫:
07-27 11:03:07.365: E/AndroidRuntime(328): 致命异常: main 07-27 11:03:07.365: E/AndroidRuntime(328): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com. example.radius100fm/com.example.radius100fm.MainActivity}: android.view.WindowManager$BadTokenException: Unable to add window -- token 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): 在 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: Unable to add window -- token null is not valid;您的活动正在运行吗?07-27 11:03:07.365: E/AndroidRuntime(328): 在 android.view.ViewRoot.setView(ViewRoot.java:527) 07-27 11:03:07.365: E/AndroidRuntime(328): 在 android. view.WindowManagerImpl.addView(WindowManagerImpl.java:177) 07-27 11:03:07.365: E/AndroidRuntime(328): 在 android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91) 07-27 11:03: 07.365: E/AndroidRuntime(328): 在 android.view.Window$LocalWindowManager.addView(Window.java:424) 07-27 11:03:07.365: E/AndroidRuntime(328): 在 android.widget.MediaController.show (MediaController.java:304) 07-27 11:03:07.365: E/AndroidRuntime(328): at com.example.radius100fm.MainActivity.onCreate(MainActivity.java:100) 07-27 11:03:07.365: E /Android 运行时(328):
我的代码有什么问题?