- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
public class MainActivity extends Activity {
private static String State = "STOP";
final String address = "http://XXXX.co.uk:9994";
private ImageView Player;
private ProgressDialog progress;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
// requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.activity_main);
Button Schedule;
Button Presenters;
Button Image;
Player = (ImageView) findViewById(R.id.imgStart);
if(State != "STOP"){
Player.setImageResource(R.drawable.stop);
}
else{
Player.setImageResource(R.drawable.start);
}
Schedule = (Button) findViewById(R.id.btnSchedule);
Presenters = (Button) findViewById(R.id.btnPresenters);
Image = (Button) findViewById(R.id.imgbutton);
LocalBroadcastManager.getInstance(this).registerReceiver(LoadingReceiver, new IntentFilter("loading"));
LocalBroadcastManager.getInstance(this).registerReceiver(CompletionReceiver, new IntentFilter("done"));
LocalBroadcastManager.getInstance(this).registerReceiver(ErrorReceiver, new IntentFilter("error"));
Player.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(State != "PLAY"){
Intent intent = new Intent(MainActivity.this,
RadioPlayer.class);
intent.putExtra(RadioPlayer.START_PLAY, true);
startService(intent);
Player.setImageResource(R.drawable.stop);
State = "PLAY";
}
else{
Intent intent = new Intent(MainActivity.this,
RadioPlayer.class);
stopService(intent);
Player.setImageResource(R.drawable.start);
State = "STOP";
}
}
});
Schedule.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent scheduleListing = new Intent(MainActivity.this,
Schedule.class);
startActivity(scheduleListing);
}
});
Presenters.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent PresenterList = new Intent(MainActivity.this,
Presenters.class);
startActivity(PresenterList);
}
});
Image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent ImgGet = new Intent(MainActivity.this,
OnAir.class);
startActivity(ImgGet);
}
});
}// End On Create
BroadcastReceiver LoadingReceiver = new BroadcastReceiver(){
@SuppressLint("NewApi")
@Override
public void onReceive(Context arg0, Intent arg1) {
progress = new ProgressDialog(MainActivity.this);
progress.setTitle("Loading");
progress.setMessage("Loading RadioPlymouth...");
progress.show(); //error here
Player.setImageResource(R.drawable.stop);
}
};
BroadcastReceiver CompletionReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
progress.dismiss();
Player.setImageResource(R.drawable.stop);
}
};
BroadcastReceiver ErrorReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent) {
progress.dismiss();
State = "STOP";
Player.setImageResource(R.drawable.start);
}
};
}
06-28 14:33:14.988: E/AndroidRuntime(18960): android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@41888998 is not valid; is your activity running?
06-28 14:33:14.988: E/AndroidRuntime(18960): at android.view.ViewRootImpl.setView(ViewRootImpl.java:564)
06-28 14:33:14.988: E/AndroidRuntime(18960): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:269)
06-28 14:33:14.988: E/AndroidRuntime(18960): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
06-28 14:33:14.988: E/AndroidRuntime(18960): at android.app.Dialog.show(Dialog.java:289)
06-28 14:33:14.988: E/AndroidRuntime(18960): at com.radioplymouth.RadioPlymouth.MainActivity$1.onReceive(MainActivity.java:144)
当我更改 Activity 时发生错误(示例),从 MainActivity -> 转到计划页面 -> 返回到 MainActivity。之前有人建议我需要在 onPause() 和/或 onResume() 中处理窗口 token ,但是我尝试这样做并没有成功。在不改变 Activity 的情况下,代码运行良好。如果有人能发现我遗漏的东西,那就太好了:)
最佳答案
经过大量搜索、调试和摸不着头脑,我终于找到了解决方案。
if(!isFinishing()){
progress.show();
Player.setImageResource(R.drawable.stop);
}
我用 else
和 toast 来查看条件何时为真,看起来好像正在调用封装此代码的 onReceive()
多次直到条件不成立。我不完全确定这意味着什么,或者为什么会发生,但它确实有效。
关于Android:ProgressDialog.show() WindowManager token ,无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24467391/
我使用 WindowManager 添加了一个 View 。 它正确地显示了我想做的事情, 但我有一个问题。 这就是问题。 后退键不影响在android组件下(如事件) 我想要的是我添加的 View
I have drawn an overlay using WindowManager. it's width and height are WindowManager.LayoutParams.MA
我正在开发一个锁屏应用程序,我在服务中使用 WindowManager 添加一个 View 。我已经在 list 文件中为所有 Activity 设置了 Orientation PORTRAIT,但这
我在服务中有一个 WindowManger,我添加了一些标志: params = new WindowManager.LayoutParams( WindowManager.LayoutPar
这是我的代码: params = new WindowManager.LayoutParams( WindowManager.LayoutParams.FLAG_FULLSCREEN,
出于某种原因,我不断收到错误膨胀类消息,因为我正在尝试实现 引起:java.lang.NullPointerException 在 pap.crowslanding.GameView.(GameVie
我正在将 WPF 与当前最新、最好的版本 Caliburn.Micro (1.4.1) 一起使用。我用IWindowManager.ShowWindow(...)打开一个新的无模式窗口: privat
我正在尝试使用 WindowManager 覆盖屏幕,它运行良好,但覆盖屏幕不会覆盖页脚,而是覆盖标题。 这是我的代码。 wm = (WindowManager) getSystemService(C
我使用 wordpress,目前正在为 tinymce-editor 编写一个插件。我使用 windowmanager.open() 函数来显示一个模态,但是我不知道如何在这个模态中隐藏 ok 按钮。
我正在使用此代码通过调暗来更改 Activity 的亮度。 WindowManager.LayoutParams layoutParameters = getWindow().getAttribute
我对由 windowmanager 提供支持的 float 窗口有疑问。它停在屏幕边界处,但我希望它通过。 void startF(int x, int y) { removePopup();
我正在尝试使用 windowManager.open({...}) 创建一个模态窗口,它将有一个(可能很长)项目列表。确保它正确显示的唯一方法是将固定高度设置为模态并使其内容可滚动。 Document
WindowManager.removeViewImmediate() 的文档包含警告(强调我的): Special variation of ViewManager.removeView(View)
我有一个服务。我已经使用 WindowManager 在服务运行期间显示一些 UI。此外,我在此服务的生命周期内显示通知。 下面是我的服务类 public class DemoService exte
我(我希望)在为 Google TV 进行一些开发时遇到了一些小问题 我想要做的是我希望能够在右下角显示一个小窗口,这很好..问题是我不确定如何摆脱后台的屏幕保护程序 这是我目前的代码。 pu
显示在屏幕上的窗口 public class FlatingViewService extends Service{ public static WindowManager windowM
我已经针对同一问题查找了几个帖子,但似乎无法解决我的问题。我在整个应用程序中都使用了微调器,它们运行良好。当我尝试在弹出窗口中使用微调器时,选择它时出现错误。弹出窗口用于添加引用,我已经声明了一个全局
我的应用程序在特定时间向用户显示一个按钮作为 TYPE_SYSTEM_ALERT,我试图让用户 move 它。触摸和 move Action 确实使用以下代码注册,但按钮不会 move 。我错过了什么
有人可以在下面详细解释一下吗, 1- What is the use of ActivityManager & WindowManager? 2- What is the difference bet
我正在开发用于背景视频录制 的应用程序,这就是我使用 WindowManager 的原因,但它对我不起作用。出现以下错误: 08-23 15:38:21.021: E/AndroidRuntime(4
我是一名优秀的程序员,十分优秀!