Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 社交网站';的登录正在通过自己的应用程序进行_Android - Fatal编程技术网

Android 社交网站';的登录正在通过自己的应用程序进行

Android 社交网站';的登录正在通过自己的应用程序进行,android,Android,我有一个活动,其中会打开一个对话框,显示社交网络图标列表。点击图标,它将在同一个应用程序而不是浏览器中打开站点,但当我们在输入用户名和密码后点击登录时出现问题,它显示异常,如下所示: 12-27 14:16:14.062: E/AndroidRuntime(4052): FATAL EXCEPTION: main 12-27 14:16:14.062: E/AndroidRuntime(4052): android.view.WindowManager$BadTokenException: Un

我有一个活动,其中会打开一个对话框,显示社交网络图标列表。点击图标,它将在同一个应用程序而不是浏览器中打开站点,但当我们在输入用户名和密码后点击登录时出现问题,它显示异常,如下所示:

12-27 14:16:14.062: E/AndroidRuntime(4052): FATAL EXCEPTION: main
12-27 14:16:14.062: E/AndroidRuntime(4052): android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@41c59680 is not valid; is your activity running?
12-27 14:16:14.062: E/AndroidRuntime(4052):     at android.view.ViewRootImpl.setView(ViewRootImpl.java:513)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:301)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at android.view.Window$LocalWindowManager.addView(Window.java:537)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at android.app.Dialog.show(Dialog.java:278)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at android.app.AlertDialog$Builder.show(AlertDialog.java:932)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at android.webkit.WebView.onSavePassword(WebView.java:1402)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:442)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at android.os.Looper.loop(Looper.java:137)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at android.app.ActivityThread.main(ActivityThread.java:4424)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at java.lang.reflect.Method.invokeNative(Native Method)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at java.lang.reflect.Method.invoke(Method.java:511)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
12-27 14:16:14.062: E/AndroidRuntime(4052):     at dalvik.system.NativeStart.main(Native Method)
12-27 14:16:14.605: I/dalvikvm(4052): threadid=3: reacting to signal 3
12-27 14:16:14.613: I/dalvikvm(4052): Wrote stack traces to '/data/anr/traces.txt'
12-27 14:16:16.273: I/Process(4052): Sending signal. PID: 4052 SIG: 9
这是我的代码:

public class ShareActivity extends Activity implements OnItemClickListener {
    //public static ShareActivity context;
    WebView wv;
    boolean land_scape=false;
    ProgressDialog pdlg;
    String links[]= new String[]{"Facebook","Twitter","Google Plus","Pintrest"};
    ListView lv1;
    Dialog dialog ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        int currentOrientation = getResources().getConfiguration().orientation;
        if (currentOrientation == Configuration.ORIENTATION_LANDSCAPE) {
           setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
           land_scape=true;

        }
        else {
           setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
           land_scape=false;
        }
      setContentView(R.layout.share_layout);    
      //context=this;

      wv=(WebView)findViewById(R.id.webView1);
      wv.getSettings().setJavaScriptEnabled(true);
      dialog = new Dialog(ShareActivity.this.getParent());
      dialog.setTitle("Please select");

      dialog.setCanceledOnTouchOutside(false);
      dialog.setContentView(R.layout.share_list);
      lv1=(ListView)dialog.findViewById(R.id.listShare);
      lv1.setAdapter(new CustomShareAdapter(this,links));
      lv1.setOnItemClickListener(this);
      dialog.show();


    }

    @Override
    public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

        switch(arg2)
        {
        case 0:  
            wv.loadUrl("http://www.facebook.com");
            break;
        case 1: 
            wv.loadUrl("https://mobile.twitter.com/login");
            break;

        case 2: 
            wv.loadUrl("http://www.plus.google.com");       
            break;
        case 3: 
            wv.loadUrl("http://www.pinterest.com");         
            break;
        }
        wv.setWebViewClient(new WebViewClient());
        dialog.dismiss();
    }


    @Override
     public void onResume()
     {

            //Determine screen size
            if ((getResources().getConfiguration().screenLayout &      Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_LARGE) {     
                //Toast.makeText(this, "Large screen set to landscape",Toast.LENGTH_LONG).show();
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE);
                land_scape=true;


            }
            else if ((getResources().getConfiguration().screenLayout &      Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_NORMAL) {     
                //Toast.makeText(this, "Normal sized screen set to portrait" , Toast.LENGTH_LONG).show();
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
                land_scape=false;

            } 
            else if ((getResources().getConfiguration().screenLayout &      Configuration.SCREENLAYOUT_SIZE_MASK) == Configuration.SCREENLAYOUT_SIZE_SMALL) {     
               // Toast.makeText(this, "Small sized screen set to portrait " , Toast.LENGTH_LONG).show();
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
                land_scape=false;
            }
            else {
                //Toast.makeText(this, "Screen size is neither large, normal or small" , Toast.LENGTH_LONG).show();
                land_scape=false;
            }
            super.onResume();
     }
    @Override
    public void onBackPressed() {
        Intent backIntent = new Intent(this, MainActivity.class);
        startActivity(backIntent);
        super.onBackPressed();
    }

}
public类ShareActivity扩展活动实现了mclicklinklistener{
//公共静态共享活动上下文;
网络视图;
布尔景观=假;
ProgressDialog pdlg;
字符串链接[]=新字符串[]{“Facebook”、“Twitter”、“Google Plus”、“Pintrest”};
ListView lv1;
对话;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
int currentOrientation=getResources().getConfiguration().orientation;
if(currentOrientation==Configuration.ORIENTATION\u横向){
setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u SENSOR\u横向);
景观=真实;
}
否则{
setRequestedOrientation(ActivityInfo.屏幕\方向\传感器\纵向);
景观=假;
}
setContentView(R.layout.share_布局);
//上下文=这个;
wv=(WebView)findViewById(R.id.webView1);
wv.getSettings().setJavaScriptEnabled(true);
dialog=新建对话框(ShareActivity.this.getParent());
对话框。设置标题(“请选择”);
对话框。setCanceledOnTouchOutside(false);
setContentView(R.layout.share_列表);
lv1=(ListView)dialog.findViewById(R.id.listShare);
lv1.setAdapter(新的CustomShareAdapter(this,links));
lv1.SetonicClickListener(本);
dialog.show();
}
@凌驾
公共视图单击(AdapterView arg0、视图arg1、整型arg2、长型arg3){
开关(arg2)
{
案例0:
wv.loadUrl(“http://www.facebook.com");
打破
案例1:
wv.loadUrl(“https://mobile.twitter.com/login");
打破
案例2:
wv.loadUrl(“http://www.plus.google.com");       
打破
案例3:
wv.loadUrl(“http://www.pinterest.com");         
打破
}
setWebViewClient(新的WebViewClient());
dialog.dismise();
}
@凌驾
恢复时公开作废()
{
//确定屏幕大小
if((getResources().getConfiguration().screenLayout&Configuration.screenLayout\u SIZE\u MASK)==Configuration.screenLayout\u SIZE\u LARGE){
//Toast.makeText(这是“大屏幕设置为横向”,Toast.LENGTH_LONG.show();
setRequestedOrientation(ActivityInfo.SCREEN\u ORIENTATION\u SENSOR\u横向);
景观=真实;
}
如果((getResources().getConfiguration().screenLayout&Configuration.screenLayout\u SIZE\u MASK)==Configuration.screenLayout\u SIZE\u NORMAL){
//Toast.makeText(这是“正常大小的屏幕设置为纵向”,Toast.LENGTH_LONG.show();
setRequestedOrientation(ActivityInfo.屏幕\方向\传感器\纵向);
景观=假;
} 
else if((getResources().getConfiguration().screenLayout&Configuration.screenLayout\u SIZE\u MASK)==Configuration.screenLayout\u SIZE\u SMALL){
//Toast.makeText(这是“设置为纵向的小屏幕”,Toast.LENGTH_LONG.show();
setRequestedOrientation(ActivityInfo.屏幕\方向\传感器\纵向);
景观=假;
}
否则{
//Toast.makeText(这个“屏幕大小既不大也不正常”或“小”),Toast.LENGTH_LONG.show();
景观=假;
}
super.onResume();
}
@凌驾
public void onBackPressed(){
Intent backIntent=新的Intent(这个,MainActivity.class);
起始触觉(背向意图);
super.onBackPressed();
}
}
第二个问题:它还显示我没有设置的空屏幕。
关于这一点,我已经研究了很多。请帮助我。

使用以下代码创建对话框:

dialog = new Dialog(this);

我认为getParent()会返回一些对您不可用的内容,因为您只需要当前的活动。

此错误通常发生在您尝试在活动结束后使用对话框时finished@ShreyaShah请给我建议一些解决方案。签入onDestroy():如果(dialog.isShowing())那么dialog.discouse();你建议我回答哪个问题?如果是第二个问题,按下“后退”按钮,屏幕显示空白,再次按下“后退”按钮,我将进入主要活动。但我希望它在第一次按下时发生。这个答案是针对应用程序崩溃的。我认为它也可以解决第二个问题,如果后退按钮的问题是由于对话框。让我知道在尝试它之后会发生什么,因为这一切都发生在选项卡活动中。它这样做了,它就会起作用。那么,还有其他解决方案吗?@Rohit好的,那么保留您原来的代码行,但在
onResume()的末尾创建并显示对话框怎么样?
?我不认为这样会有帮助。你确定吗?因为若我们在onResume方法中创建并显示它,当我单击Share选项卡时,它将不起作用。你不这么认为吗?