2012-12-19 38 views
0

当我开始我的应用我的应用程序是力关闭,并给出了观点的错误没有连接到窗口管理器我不明白究竟是什么错误尝试说 我是把我的代码在这里与logcat的错误android错误视图不附加到窗口管理器和崩溃?

logcat的错误

12-19 18:28:06.258: E/WindowManager(5960): Activity com.example.vixxa.HomeActivity has leaked window [email protected] that was originally added here 
12-19 18:28:06.258: E/WindowManager(5960): android.view.WindowLeaked: Activity com.example.vixxa.HomeActivity has leaked window [email protected] that was originally added here 
12-19 18:28:06.258: E/WindowManager(5960): at android.view.ViewRootImpl.<init>(ViewRootImpl.java:349) 
12-19 18:28:06.258: E/WindowManager(5960): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:267) 
12-19 18:28:06.258: E/WindowManager(5960): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215) 
12-19 18:28:06.258: E/WindowManager(5960): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140) 
12-19 18:28:06.258: E/WindowManager(5960): at android.view.Window$LocalWindowManager.addView(Window.java:537) 
12-19 18:28:06.258: E/WindowManager(5960): at android.app.Dialog.show(Dialog.java:285) 
12-19 18:28:06.258: E/WindowManager(5960): at android.app.ProgressDialog.show(ProgressDialog.java:116) 
12-19 18:28:06.258: E/WindowManager(5960): at android.app.ProgressDialog.show(ProgressDialog.java:99) 
12-19 18:28:06.258: E/WindowManager(5960): at android.app.ProgressDialog.show(ProgressDialog.java:94) 
12-19 18:28:06.258: E/WindowManager(5960): at com.example.vixxa.HomeActivity.onCreate(HomeActivity.java:370) 
12-19 18:28:06.258: E/WindowManager(5960): at android.app.Activity.performCreate(Activity.java:4492) 
12-19 18:28:06.258: E/WindowManager(5960): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 
12-19 18:28:06.258: E/WindowManager(5960): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) 
12-19 18:28:06.258: E/WindowManager(5960): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 
12-19 18:28:06.258: E/WindowManager(5960): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3351) 
12-19 18:28:06.258: E/WindowManager(5960): at android.app.ActivityThread.access$700(ActivityThread.java:123) 
12-19 18:28:06.258: E/WindowManager(5960): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1151) 
12-19 18:28:06.258: E/WindowManager(5960): at android.os.Handler.dispatchMessage(Handler.java:99) 
12-19 18:28:06.258: E/WindowManager(5960): at android.os.Looper.loop(Looper.java:137) 
12-19 18:28:06.258: E/WindowManager(5960): at android.app.ActivityThread.main(ActivityThread.java:4424) 
12-19 18:28:06.258: E/WindowManager(5960): at java.lang.reflect.Method.invokeNative(Native Method) 
12-19 18:28:06.258: E/WindowManager(5960): at java.lang.reflect.Method.invoke(Method.java:511) 
12-19 18:28:06.258: E/WindowManager(5960): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
12-19 18:28:06.258: E/WindowManager(5960): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
12-19 18:28:06.258: E/WindowManager(5960): at dalvik.system.NativeStart.main(Native Method) 
12-19 18:28:06.258: E/wifienabled(5960): wifitrue 

HomeActivity.java

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

      wifiManager = (WifiManager) this.getSystemService(Context.WIFI_SERVICE); 
      Log.e("wifienabled","wifi"+wifiManager.isWifiEnabled()); 


       gps = new GPSTracker(HomeActivity.this); 
       // check if GPS enabled 
       if(gps.canGetLocation()) 
       { 
         latitude = gps.getLatitude(); 
         longitude = gps.getLongitude();   // \n is for new line 
       Toast.makeText(getApplicationContext(), "Your Location is - \nLat: " + latitude + "\nLong: " + longitude, Toast.LENGTH_LONG).show(); 
      } 


      StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
      StrictMode.setThreadPolicy(policy); 

      alertDialog = new AlertDialog.Builder(this).create(); 
      flightalertDialog = new AlertDialog.Builder(this).create(); 
      loginalertDialog=new AlertDialog.Builder(this).create(); 

      if(CheckConnection.getInstance(this).isOnline(this)) 
      { 
       progressdialogflight = ProgressDialog.show(HomeActivity.this, "Loading...", "Please Wait"); 


       int displaymode=getResources().getConfiguration().orientation; 
        if(displaymode==1) 
        { 
         policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
         StrictMode.setThreadPolicy(policy); 
         new FlightListBack().execute(""); 
         Log.e("Home", "You are online!!!!"); 
         Toast.makeText(this,"You are online!!!!",2000).show(); 

        } 
        else 
        { 

         policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
         StrictMode.setThreadPolicy(policy); 
         new FlightListBack().execute(""); 
         Toast.makeText(this,"You are online!!!!",2000).show(); 

        } 

      } 
      else 
      { 
       Toast.makeText(this,"You are not online!!!!",2000).show(); 
       //alert(); 
      } 


     int displaymode=getResources().getConfiguration().orientation; 
     if(displaymode==1) 
     { 
      setContentView(R.layout.homeportrait); 

      scrollView =(ScrollView)findViewById(R.id.scrollView); 
      scrollView.setOnTouchListener(new View.OnTouchListener() { 
      public boolean onTouch(View arg0, MotionEvent event) 
      { 
       findViewById(R.id.scrollView).getParent().requestDisallowInterceptTouchEvent(false); 
       Log.e("SCroll View Touch","Work"); 
       return false; 
      } 
      }); 

      ListView lv =getListView(); 
      lv.setOnTouchListener(new View.OnTouchListener() { 

       public boolean onTouch(View v, MotionEvent event) 
       { 
        Log.e("ListView","Work"); 
             // Disallow the touch request for parent scroll on touch of child view 
        v.getParent().requestDisallowInterceptTouchEvent(true); 
        return false; 
       } 
      }); 
     } 
     else 
     { 
      setContentView(R.layout.home); 


      scrollView =(ScrollView)findViewById(R.id.scrollView); 

      scrollView.setOnTouchListener(new View.OnTouchListener() { 
      public boolean onTouch(View arg0, MotionEvent event) 
      { 
       findViewById(R.id.scrollView).getParent().requestDisallowInterceptTouchEvent(false); 
       Log.e("SCroll View Touch","Work"); 
       return false; 
      } 
      }); 

      ListView lv =getListView(); 
      lv.setOnTouchListener(new View.OnTouchListener() { 

       public boolean onTouch(View v, MotionEvent event) 
       { 
        Log.e("ListView","Work"); 
             // Disallow the touch request for parent scroll on touch of child view 
        v.getParent().requestDisallowInterceptTouchEvent(true); 
        return false; 
       } 
      }); 



     } 


     radiogroupsettings= (RadioGroup) findViewById(R.id.radiogroupsettings); 

     editusername=(EditText)findViewById(R.id.editusername); 
     editpassword=(EditText)findViewById(R.id.editpassword); 
     headergobutton=(Button)findViewById(R.id.headergobutton); 

     imageslider = (ImageView)findViewById(R.id.imageslider); 
     imagefacebook_icon=(ImageView)findViewById(R.id.imagefacebookicon); 
     imagetwitter_icon=(ImageView)findViewById(R.id.imagetwittericon); 
     imageyoutube_icon=(ImageView)findViewById(R.id.imageyoutubeicon); 

     imageappsheader=(ImageView)findViewById(R.id.imageappsheader); 
     imagevisitor = (ImageView)findViewById(R.id.imagevisitor); 
     imagerestaurant =(ImageView)findViewById(R.id.imagerestaurant); 
     imageclubs =(ImageView)findViewById(R.id.imageclubs); 
     imagespa =(ImageView)findViewById(R.id.imagespa); 
     imagedeals=(ImageView)findViewById(R.id.imagedeals); 
     imageshopping=(ImageView)findViewById(R.id.imageshopping); 
     imagemagazine=(ImageView)findViewById(R.id.imagemagazine); 
     imageairport =(ImageView)findViewById(R.id.imageairport); 
     imageairport.setOnClickListener(this); 
     imagehotel =(ImageView)findViewById(R.id.imagehotel); 
     imagecategory=(ImageView)findViewById(R.id.imagecategory); 
     imagecarrental=(ImageView)findViewById(R.id.imagecarrental); 
     imagestation =(ImageView)findViewById(R.id.imagestation); 

     imagefooter=(ImageView)findViewById(R.id.imagefooter); 

     DisplayMetrics displaymetrics = new DisplayMetrics(); 
     getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); 

     height = displaymetrics.heightPixels; 
     width = displaymetrics.widthPixels; 

     headergobutton.setOnClickListener(this); 

     imagegooglesearch=(ImageView)findViewById(R.id.imagegooglesearch); 
     imagegooglesearch.setOnClickListener(this); 

     imageyahoo=(ImageView)findViewById(R.id.imageyahoo); 
     imageyahoo.setOnClickListener(this); 

     imageespn=(ImageView)findViewById(R.id.imageespn); 
     imageespn.setOnClickListener(this); 

     imageamazon=(ImageView)findViewById(R.id.imageamazon); 
     imageamazon.setOnClickListener(this); 

     imageyoutube=(ImageView)findViewById(R.id.imageyoutube); 
     imageyoutube.setOnClickListener(this); 

     imagenetflix=(ImageView)findViewById(R.id.imagenetflix); 
     imagenetflix.setOnClickListener(this); 

     imagehulu=(ImageView)findViewById(R.id.imagehulu); 
     imagehulu.setOnClickListener(this); 

     imagelive365=(ImageView)findViewById(R.id.imagelive365); 
     imagelive365.setOnClickListener(this); 

     imagefacebook=(ImageView)findViewById(R.id.imagefacebook); 
     imagefacebook.setOnClickListener(this); 

     imageskype=(ImageView)findViewById(R.id.imageskype); 
     imageskype.setOnClickListener(this); 

     imagegames=(ImageView)findViewById(R.id.imagegames); 
     imagegames.setOnClickListener(this); 

     imagewifi=(ImageView)findViewById(R.id.imagewifi); 
     imagewifi.setOnClickListener(this); 

    // buttontime=(Button)findViewById(R.id.buttontime); 
    // buttontime.setOnClickListener(this); 
     // user layout textview in android 

     textviewcity=(TextView)findViewById(R.id.textviewcity); 
     textviewinfo=(TextView)findViewById(R.id.textviewinfo); 
     textviewairport=(TextView)findViewById(R.id.textviewairport); 

     text1=(TextView)findViewById(R.id.text1); 
     text2=(TextView)findViewById(R.id.text2); 
     text3=(TextView)findViewById(R.id.text3); 
     text4=(TextView)findViewById(R.id.text4); 
     text5=(TextView)findViewById(R.id.text5); 
     text6=(TextView)findViewById(R.id.text6); 


     //********** For Image Slide Image automatically Change ***************************** 

     final int []sliderImageArray={R.drawable.banner,R.drawable.banner01,R.drawable.banner02}; 
     final int []footerImageArray={R.drawable.bottomadv,R.drawable.sandwich,R.drawable.underbig}; 
     try 
     { 

      Log.e("Land Scape Run",""); 
      Log.e("LandScape Run","Handler "); 
       final Handler imagehandler = new Handler(); 

       Runnable runnable; 

       runnable = new Runnable() 
       { 

        int i=0; 
        public void run() 
        { // slider image run 
         imageslider.setImageResource(sliderImageArray[i]); //Log.e("Image Run",""+sliderImageArray[i]); 
         i++; 
         if(i>sliderImageArray.length-1) 
         { 
           i=0;  
           clear(); 
         } 
         imagehandler.postDelayed(this, 4000); // for interval 
        } 

       }; 
       imagehandler.postDelayed(runnable,10); 

       final Handler footerimagehandler =new Handler(); 
       runnable = new Runnable() 
       { 
        int j=0; 
        public void run() 
        { // footer image run 
         imagefooter.setImageResource(footerImageArray[j]); // Log.e("Image Run",""+footerImageArray[j]); 
         j++; 
         if(j>footerImageArray.length-1) 
         { 
           j=0;  
           clear(); 
         } 
         footerimagehandler.postDelayed(this, 5000); // for interval 
        } 
       }; 

       footerimagehandler.postDelayed(runnable, 10); 


       // For ListView Change after 10 seconds; 

       final Handler departurehandler =new Handler(); 
       runnable = new Runnable() 
       { 

        public void run() 
        { 

         if(CheckConnection.getInstance(HomeActivity.this).isOnline(HomeActivity.this)) 
         { 

           if(cheklist==0) 
           { 
               //Log.e("departure before chek List", "chek-->"+cheklist); 
               cheklist=1; 
               // Log.e("departure after chek List", "chek-->"+cheklist); 
               if(!flightList.isEmpty()) 
               { 

                   Log.e("listhandler departure","work"); 
                   int displaymode=getResources().getConfiguration().orientation; 
                   if(displaymode==1) 
                   { 

                     text1.setText("Destination"); 
                     text4.setText("Schedule"); 
                     textviewcity.setText(textcity); 
                     textviewairport.setText(textairport); 
                     textviewinfo.setText("Departure Flight List"); 

                     ListAdapter departureadapter = new SimpleAdapter(HomeActivity.this,flightList, 
                       R.layout.listportrait, 
                       new String[] { TAG_MDESTINATION, TAG_MFLIGHT, TAG_MAIRLINE,TAG_MSCHEDULE,TAG_MTERMINALGATE,TAG_MFSTATUS }, new int[] { 
                         R.id.textdestination, R.id.textflight, R.id.textairline,R.id.textschedule,R.id.texttermgate,R.id.textstatus }); 
                     setListAdapter(departureadapter); 

                   } 
                   else 
                   { 
                      text1.setText("Destination"); 
                      text4.setText("Schedule"); 
                      textviewcity.setText(textcity); 
                      textviewairport.setText(textairport); 
                      textviewinfo.setText("Departure Flight List"); 

                     ListAdapter departureadapter = new SimpleAdapter(HomeActivity.this,flightList, 
                       R.layout.list, 
                       new String[] { TAG_MDESTINATION, TAG_MFLIGHT, TAG_MAIRLINE,TAG_MSCHEDULE,TAG_MTERMINALGATE,TAG_MFSTATUS }, new int[] { 
                         R.id.textdestination, R.id.textflight, R.id.textairline,R.id.textschedule,R.id.texttermgate,R.id.textstatus }); 
                     setListAdapter(departureadapter); 

                    } 
              } // for interval 
            } 
            else 
            { 
             //Log.e("departure before chek List", "chek-->"+cheklist); 
               cheklist=0; 
             //Log.e("departure after List", "chek-->"+cheklist);   
               if(!arrivalList.isEmpty()) 
               { 
                   Log.e("listhandler arrival","work"); 
                    int displaymode=getResources().getConfiguration().orientation; 
                    if(displaymode==1) 
                    { 
                     text1.setText("Origin"); 
                     text4.setText("Arrival"); 
                     textviewinfo.setText("Arrival Flight List"); 

                      ListAdapter arrivaladapter = new SimpleAdapter(HomeActivity.this,arrivalList, 
                        R.layout.listportrait, 
                        new String[] { TAG_MDESTINATION, TAG_MFLIGHT, TAG_MAIRLINE,TAG_MSCHEDULE,TAG_MTERMINALGATE,TAG_MFSTATUS }, new int[] { 
                          R.id.textdestination, R.id.textflight, R.id.textairline,R.id.textschedule,R.id.texttermgate,R.id.textstatus }); 
                      setListAdapter(arrivaladapter); 

                    } 
                    else 
                    { 
                      text1.setText("Origin"); 
                      text4.setText("Arrival"); 
                      textviewinfo.setText("Arrival Flight List"); 

                     ListAdapter arrivaladapter = new SimpleAdapter(HomeActivity.this,arrivalList, 
                       R.layout.list, 
                       new String[] { TAG_MDESTINATION, TAG_MFLIGHT, TAG_MAIRLINE,TAG_MSCHEDULE,TAG_MTERMINALGATE,TAG_MFSTATUS }, new int[] { 
                         R.id.textdestination, R.id.textflight, R.id.textairline,R.id.textschedule,R.id.texttermgate,R.id.textstatus }); 
                     setListAdapter(arrivaladapter); 

                    } 
               } 
            } 

         }        
         else 
         { 

          if(alertDialog.isShowing()) 
          { 
           alertDialog.dismiss(); 
          } 
          else 
          { 

           alert(); 
          } 

          scrollView.fullScroll(ScrollView.FOCUS_DOWN); 

         } 


         departurehandler.postDelayed(this, 10000); 
        } 

       }; departurehandler.postDelayed(runnable, 100); 




     } 
     catch(Exception e) 
     { 
      e.printStackTrace(); 
     } 
} 

回答

1

下面的代码是导致应用程序强制关闭

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); 
      StrictMode.setThreadPolicy(policy); 

的事情是,你正试图从主线程是针对Android的线程策略调用Web服务。
因此,由于此StrictMode.ThreadPolicy将强制关闭您的应用程序。
因此,请在评论与strictmode相关的代码后再检查,然后尝试再次运行。

+0

谢谢你为我工作 – Mahesh