这是什么错误...我还没有在stackoverflow社区中找到关于此错误的任何讨论详解: -
10-18 23:53:11.613: ERROR/AndroidRuntime(3197): Uncaught handler: thread main exiting due to uncaught exception
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@45d459c0 is not valid; is your activity running?
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.view.ViewRoot.setView(ViewRoot.java:468)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.view.Window$LocalWindowManager.addView(Window.java:424)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.app.Dialog.show(Dialog.java:239)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at com.vishal.contacte.Locationlistener$MyLocationListener.onLocationChanged(Locationlistener.java:86)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.location.LocationManager$ListenerTransport._handleMessage(LocationManager.java:179)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.location.LocationManager$ListenerTransport.access$000(LocationManager.java:112)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): at android.location.LocationManager$ListenerTransport$1.handleMessage(LocationManager.java:128)
10-18 23:53:11.658: ERROR/AndroidRuntime(3197): …Run Code Online (Sandbox Code Playgroud) 我想请求一些帮助:在我的应用程序中,我只有一个活动,一个PreferenceActivity(不需要其他活动,它只是一个简单的后台同步应用程序,所以它PrefsActivity是Main/Launcher).在用户设置首选项之后,检查a checkBoxPreference,然后启动(或停止)服务.在开始时,会出现一个对话框.但问题是:如果用户按下(离开活动),再次启动它,然后尝试检查checkBoxPref.,prefsactivity崩溃.对话框没有显示.我不知道为什么,以及如何解决它.
这段代码与那部分完全相同,是什么给了我这个问题:
PrefsActivity.java:
package is.it.works;
// imports .....
public class PrefsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener {
SharedPreferences prefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(this);
}// onCreate
@Override
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
if (key.equals("checkTest")) {
showDialog(1);
}
if (key.equals("cancel")) {
dismissDialog(1);
}
}// onSPC
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 1: {
ProgressDialog dialog = new ProgressDialog(this);
dialog.setMessage("press …Run Code Online (Sandbox Code Playgroud) 我在某个活动中遇到了监听器的问题.
问题是这个监听器包含一个alert.show(); 在我们尝试推送新活动(然后给出例外)之后可以调用它.
例如:我正在通过活动A收听来自其他电话的信号.我按下然后尝试运行一个新的活动B,但程序因为alert.show()A的监听器而崩溃.
ERROR/AndroidRuntime(3573): android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@476c21c0 is not valid; is your activity running?
Run Code Online (Sandbox Code Playgroud)
我是否可以在A的监听器中检查此活动是否处于活动状态,然后根据此值显示警告?
我知道这个问题已经讨论了几次,但相信我,我从来没有得到任何答案.在我的主要活动中,我使用了少量的Dialog来通知用户一些操作,但我在小米设备上主要(特别是96%)得到了这个特定的错误.`
Fatal Exception: android.view.WindowManager$BadTokenException
Unable to add window -- token android.os.BinderProxy@f839de9 is not valid; is your activity running?
android.view.ViewRootImpl.setView (ViewRootImpl.java:697)
android.view.WindowManagerGlobal.addView (WindowManagerGlobal.java:347)
android.view.WindowManagerImpl.addView (WindowManagerImpl.java:94)
android.widget.Toast$TN.handleShow (Toast.java:463)
android.widget.Toast$TN$2.handleMessage (Toast.java:346)
android.os.Handler.dispatchMessage (Handler.java:102)
android.os.Looper.loop (Looper.java:163)
android.app.ActivityThread.main (ActivityThread.java:6377)
java.lang.reflect.Method.invoke (Method.java)
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:904)
Run Code Online (Sandbox Code Playgroud)
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
I covered each Dialog Show method like
if (!MainActivityNew.this.isFinishing())
dialogDownload.show();
Run Code Online (Sandbox Code Playgroud)
`但是我仍然在发布模式下出现这个错误主要是在使用Android版本7的小米设备上,请帮助我在过去的一个月里坚持这个问题.
以下是来自Firebase Crashlytics的一些数据
设备100%小米操作系统100%Android 7设备状态4%背景
我尝试使用twitter4j连接到Twitter.但它显示标题所说的错误.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
twitterConsumerKey = getIntent().getStringExtra(TWITTER_CONSUMER_KEY);
twitterConsumerSecret = getIntent().getStringExtra(TWITTER_CONSUMER_SECRET);
if(twitterConsumerKey == null || twitterConsumerSecret == null){
Log.e(Constants.TAG, "ERROR: Consumer Key and Consumer Secret required!");
Login.this.setResult(TWITTER_LOGIN_RESULT_CODE_FAILURE);
Login.this.finish();
}
mProgressDialog = new ProgressDialog(this);
mProgressDialog.setMessage("Please wait...");
mProgressDialog.setCancelable(false);
mProgressDialog.setCanceledOnTouchOutside(false);
mProgressDialog.show();
twitterLoginWebView = (WebView)findViewById(R.id.twitter_login_web_view);
twitterLoginWebView.setWebViewClient( new WebViewClient()
{
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
if( url.contains(Constants.TWITTER_CALLBACK_URL))
{
Uri uri = Uri.parse(url);
Login.this.saveAccessTokenAndFinish(uri);
return true;
}
return false;
}
@Override
public void onPageFinished(WebView view, String url) {
// TODO …Run Code Online (Sandbox Code Playgroud) 我有一个 android 项目,所有源代码都没有错误,但有时它会强制关闭。
这是我的代码:
时间完成对话框.java
public class TimeCompleteDialog implements OnClickListener {
private Activity act;
private LayoutInflater inflater;
/**UI Components*/
private Dialog dialog;
private TextView txt_msg;
private ImageButton btn_cancal;
public TimeCompleteDialog(Activity a) {
this.act=a;
inflater=LayoutInflater.from(act);
dialog=new Dialog(a);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
}
/**Attaching the dialog to custom views*/
private void buildDialog(){
View v=inflater.inflate(R.layout.time_complete_dialog,null,false);
dialog.setContentView(v);
dialog.setCancelable(false);
this.findDialogViews(v);
}
public void showDialog(){
this.buildDialog();
this.dialog.show();
}
/**Find the ids of the custom views components*/
private void findDialogViews(View view){
txt_msg=(TextView)view.findViewById(R.id.txt_time_up);
btn_cancal=(ImageButton)view.findViewById(R.id.btn_time_cancel);
btn_cancal.setOnClickListener(this);
/**Changing the state of …Run Code Online (Sandbox Code Playgroud)