-1

Я пытаюсь начать работу с использованием намерения, но он никогда не работает. Я попытался просмотреть все переменные повсюду, и он никогда не работает. Я использую поток, чтобы начать работу. Если это из-за IDE, я использую Android-студию. Мне просто интересно, что здесь означает ошибка, потому что я не могу ее найти. Я включил манифест Android, потому что я тоже мог перепутаться. Вот код:Android Intent не работает

package com.mtprogramming.magicsquaresgame; 

import com.mtprogramming.magicsquaresgame.util.SystemUiHider; 
import android.annotation.TargetApi; 
import android.app.Activity; 
import android.content.Intent; 
import android.os.Build; 
import android.os.Bundle; 
import android.os.Handler; 
import android.view.MotionEvent; 
import android.view.View; 

/** 
* An example full-screen activity that shows and hides the system UI (i.e. 
* status bar and navigation/system bar) with user interaction. 
* 
* @see SystemUiHider 
*/ 
public class Opening extends Activity { 
/** 
* Whether or not the system UI should be auto-hidden after 
* {@link #AUTO_HIDE_DELAY_MILLIS} milliseconds. 
*/ 
private static final boolean AUTO_HIDE = true; 


/** 
* If {@link #AUTO_HIDE} is set, the number of milliseconds to wait after 
* user interaction before hiding the system UI. 
*/ 
private static final int AUTO_HIDE_DELAY_MILLIS = 3000; 

/** 
* If set, will toggle the system UI visibility upon interaction. Otherwise, 
* will show the system UI visibility upon interaction. 
*/ 
private static final boolean TOGGLE_ON_CLICK = true; 

/** 
* The flags to pass to {@link SystemUiHider#getInstance}. 
*/ 
private static final int HIDER_FLAGS = SystemUiHider.FLAG_HIDE_NAVIGATION; 

/** 
* The instance of the {@link SystemUiHider} for this activity. 
*/ 
private SystemUiHider mSystemUiHider; 

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

    setContentView(R.layout.activity_opening); 
Thread timer = new Thread(){ 
    public void run(){ 
     try{ 
      sleep(5000); 
     }catch(Exception e){ 
      e.printStackTrace(); 
     }finally{ 
      Intent open = new Intent(Opening.this,Menu.class); 
      startActivity(open); 
     } 
    } 
}; 
    timer.start(); 
    final View controlsView = findViewById(R.id.fullscreen_content_controls); 
    final View contentView = findViewById(R.id.fullscreen_content); 

    // Set up an instance of SystemUiHider to control the system UI for 
    // this activity. 
    mSystemUiHider = SystemUiHider.getInstance(this, contentView, HIDER_FLAGS); 
    mSystemUiHider.setup(); 
    mSystemUiHider 
      .setOnVisibilityChangeListener(new SystemUiHider.OnVisibilityChangeListener() { 
       // Cached values. 
       int mControlsHeight; 
       int mShortAnimTime; 

       @Override 
       @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2) 
       public void onVisibilityChange(boolean visible) { 
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) { 
         // If the ViewPropertyAnimator API is available 
         // (Honeycomb MR2 and later), use it to animate the 
         // in-layout UI controls at the bottom of the 
         // screen. 
         if (mControlsHeight == 0) { 
          mControlsHeight = controlsView.getHeight(); 
         } 
         if (mShortAnimTime == 0) { 
          mShortAnimTime = getResources().getInteger(
            android.R.integer.config_shortAnimTime); 
         } 
         controlsView.animate() 
           .translationY(visible ? 0 : mControlsHeight) 
           .setDuration(mShortAnimTime); 
        } else { 
         // If the ViewPropertyAnimator APIs aren't 
         // available, simply show or hide the in-layout UI 
         // controls. 
         controlsView.setVisibility(visible ? View.VISIBLE : View.GONE); 
        } 

        if (visible && AUTO_HIDE) { 
         // Schedule a hide(). 
         delayedHide(AUTO_HIDE_DELAY_MILLIS); 
        } 
       } 
      }); 

    // Set up the user interaction to manually show or hide the system UI. 
    contentView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      if (TOGGLE_ON_CLICK) { 
       mSystemUiHider.toggle(); 
      } else { 
       mSystemUiHider.show(); 
      } 
     } 
    }); 

    // Upon interacting with UI controls, delay any scheduled hide() 
    // operations to prevent the jarring behavior of controls going away 
    // while interacting with the UI. 

} 

@Override 
protected void onPostCreate(Bundle savedInstanceState) { 
    super.onPostCreate(savedInstanceState); 

    // Trigger the initial hide() shortly after the activity has been 
    // created, to briefly hint to the user that UI controls 
    // are available. 
    delayedHide(100); 
} 


/** 
* Touch listener to use for in-layout UI controls to delay hiding the 
* system UI. This is to prevent the jarring behavior of controls going away 
* while interacting with activity UI. 
*/ 
View.OnTouchListener mDelayHideTouchListener = new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View view, MotionEvent motionEvent) { 
     if (AUTO_HIDE) { 
      delayedHide(AUTO_HIDE_DELAY_MILLIS); 
     } 
     return false; 
    } 
}; 

Handler mHideHandler = new Handler(); 
Runnable mHideRunnable = new Runnable() { 
    @Override 
    public void run() { 
     mSystemUiHider.hide(); 
    } 
}; 

/** 
* Schedules a call to hide() in [delay] milliseconds, canceling any 
* previously scheduled calls. 
*/ 
private void delayedHide(int delayMillis) { 
    mHideHandler.removeCallbacks(mHideRunnable); 
    mHideHandler.postDelayed(mHideRunnable, delayMillis); 
}} 

И Android Manifest:

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name="com.mtprogramming.magicsquaresgame.Opening" 
     android:configChanges="orientation|keyboardHidden|screenSize" 
     android:label="@string/app_name" 
     android:theme="@style/FullscreenTheme" 
     android:screenOrientation="landscape"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
      android:name="com.mtprogramming.magicsquaresgame.Menu" 
      android:configChanges="orientation|keyboardHidden|screenSize" 
      android:label="@string/app_name" 
      android:theme="@style/FullscreenTheme" 
      android:screenOrientation="landscape" 
      > 
     <intent-filter> <action> android:name="com.mtprogramming.magicsquaresgame.MENU"</action> 

      </intent-filter> 


    </activity> 
</application> 

Мишень API является 16-17, кстати.

+0

это не хороший способ. просто показать, где вы получаете проблемы –

+0

pls опубликовать вашу ошибку logcat – CoronaPintu

ответ

0

Удалить эти следующие строки из окончательно блокировать Intent open = new Intent(Opening.this,Menu.class); startActivity(open);

и поместить эти строки где-нибудь за пределами потока. Вы можете открыть активность в потоке пользовательского интерфейса только в фоновом режиме.

+0

как ваш ответ отличается от моего .. –

0

Чувак, вы не можете начать деятельность внутри нити. вам нужно запустить свою активность из потока пользовательского интерфейса.

Я бы рекомендовал использовать обработчик. Im не familier с классом петлителя, но я просто передал объект Handler при создании потоков из uiThread. затем отправляет сообщения обработчику из потока и выполняет соответствующие действия ui, перезаписывая handlemessage в обработчике. Поэтому мое предложение было бы использовать анонимный собственный класс для обработчика (в потоке ui), а затем передать это классу runnable.

0

избавиться от этой темы вещи, если вы просто хотите, чтобы начать деятельность после некоторой задержки просто использовать View.postDelayed (работоспособной, задержки) метод

+0

Могу ли я иметь документацию для этой новой вещи? Какой Runnable я использую? – Nebraska

+0

вы должны использовать новый Runnable, где в методе запуска вы вызываете startActivity – pskink

+0

Могу ли я иметь пример? – Nebraska

Смежные вопросы