2012-11-18 37 views
2

我不明白为什么当我在模拟器中运行它时,它强制关闭。我做了一个闪屏,并且出现没有问题,但它不会通过了:我的Android应用程序保持关闭

启动画面后
public class MainActivity extends Activity 
{ 
protected boolean _active = true; 
protected int _splashTime = 5000; 

// Called when the activity is first created. 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    // thread for displaying the SplashScreen 
    Thread splashTread = new Thread() 
    { 
     @Override 
     public void run() 
     { 
      try 
      { 
       int waited = 0; 
       while(_active && (waited < _splashTime)) 
       { 
        sleep(100); 
        if(_active) 
        { 
         waited += 100; 
        } 
       } 
      } 
      catch(InterruptedException e) 
      { 
       // do nothing 
      } 
      finally 
      { 
       finish(); 
       startActivity(new Intent("com.example.textsmslock.EnableActivity")); 
       stop(); 
      } 
     } 
    }; 
    splashTread.start(); 
} 

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    if (event.getAction() == MotionEvent.ACTION_DOWN) { 
     _active = false; 
    } 
    return true; 
} 
} 

,它应该是去下面的另一个活动代码:

public class Enable extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_enable); 
    // getActionBar().setDisplayHomeAsUpEnabled(true); 
} 
@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    getMenuInflater().inflate(R.menu.activity_enable, menu); 
    return true; 
} 


@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
      NavUtils.navigateUpFromSameTask(this); 
      return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 
public void EnableYes(View view) 
{ 
    startActivity(new Intent("com.example.textsmslock.EnterPin")); 
} 
public void EnableNo(View view) 
{ 

} 

} 

红Logcats

11-17 21:04:53.504: E/Zygote(32): setreuid() failed. errno: 2 
11-17 21:05:00.924: E/Zygote(32): setreuid() failed. errno: 17 
11-17 21:05:02.074: E/BatteryService(58): usbOnlinePath not found 
11-17 21:05:02.074: E/BatteryService(58): batteryVoltagePath not found 
11-17 21:05:02.074: E/BatteryService(58): batteryTemperaturePath not found 
11-17 21:05:02.094: E/SurfaceFlinger(58): Couldn't open /sys/power/wait_for_fb_sleep or /sys/power/wait_for_fb_wake 
11-17 21:05:07.994: E/EventHub(58): could not get driver version for /dev/input/mouse0, Not a typewriter 
11-17 21:05:07.994: E/EventHub(58): could not get driver version for /dev/input/mice, Not a typewriter 
11-17 21:05:08.653: E/System(58): Failure starting core service 
11-17 21:05:08.653: E/System(58): java.lang.SecurityException 
11-17 21:05:08.653: E/System(58): at android.os.BinderProxy.transact(Native Method) 
11-17 21:05:08.653: E/System(58): at android.os.ServiceManagerProxy.addService(ServiceManagerNative.java:146) 
11-17 21:05:08.653: E/System(58): at android.os.ServiceManager.addService(ServiceManager.java:72) 
11-17 21:05:08.653: E/System(58): at com.android.server.ServerThread.run(SystemServer.java:184) 
11-17 21:05:09.293: E/SoundPool(58): error loading /system/media/audio/ui/Effect_Tick.ogg 
11-17 21:05:09.304: E/SoundPool(58): error loading /system/media/audio/ui/KeypressStandard.ogg 
11-17 21:05:09.304: E/SoundPool(58): error loading /system/media/audio/ui/KeypressSpacebar.ogg 
11-17 21:05:09.304: E/SoundPool(58): error loading /system/media/audio/ui/KeypressDelete.ogg 
11-17 21:05:09.304: E/SoundPool(58): error loading /system/media/audio/ui/KeypressReturn.ogg 
11-17 21:05:35.019: E/AndroidRuntime(272): FATAL EXCEPTION: Thread-8 
11-17 21:05:35.019: E/AndroidRuntime(272): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=this, com.example.textsmslock.Enable.class } 
11-17 21:05:35.019: E/AndroidRuntime(272): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408) 
11-17 21:05:35.019: E/AndroidRuntime(272): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378) 
11-17 21:05:35.019: E/AndroidRuntime(272): at android.app.Activity.startActivityForResult(Activity.java:2817) 
11-17 21:05:35.019: E/AndroidRuntime(272): at android.app.Activity.startActivity(Activity.java:2923) 
11-17 21:05:35.019: E/AndroidRuntime(272): at com.example.textsmslock.MainActivity$1.run(MainActivity.java:45) 

**end of logcat** 
+0

能否请您粘贴从logcat的堆栈跟踪的意图过滤看到飞机坠毁是什么? – LuxuryMode

+0

这是你的意思? –

+0

[2012-11-17 21:04:46 - Emulator]无法获取wglGetExtensionsStringARB [2012-11-17 21:04:46 - Emulator]无法获取wglGetExtensionsStringARB [2012-11-17 21:04:46 - 模拟器]无法获得wglGetExtensionsStringARB [2012-11-17 21:04:46 - 模拟器]无法获得wglGetExtensionsStringARB [2012-11-17 21:04:46 - 模拟器]无法获取wglGetExtensionsStringARB [2012-11 -17 21:04:46 - Emulator]无法获取wglGetExtensionsStringARB [2012-11-17 21:04:46 - Emulator]无法获取wglGetExtensionsStringARB [2012-11-17 21:04:46 - Emulator] could not得到wglGetExtensionsStringARB –

回答

0

我错过了我的清单

<intent-filter> 
      <action android:name="com.example.textsmslock.Enable" /> 
      <category android:name="android.intent.category.DEFAULT" /> 
     </intent-filter> 
0

没有一个堆栈跟踪其很难说,但最有可能的是没有活动称为EnableActivity。根据您的代码,该活动被称为Enable

类型安全的方式做到这一点,是不使用字符串,而是startActivity(new Intent(this, com.example.textsmslock.Enable.class))

+0

我做了你推荐的改变,我得到了力量关闭。最初,我有startActivity(新的意图(这,com.example.textsmslock.Enable.class)) –

+0

设置为startActivity(新的意图(com.example.textsmslock.Enable))...你怎么建议添加.class?我只是好奇。我是新来的应用程序编程一般 –

+0

@DaJaynaeWilliams,因为你可以创建一个Intent的方法之一是引用一个类Object。所以如果你使用一个字符串,那里没有类型安全;这意味着您只会在运行时看到崩溃。而如果你使用类对象,如果没有这样的类,你会得到一个编译时错误。请注意,如果您尚未在清单中声明Enable活动,它仍然会在运行时崩溃。 – LuxuryMode

0

首先,我认为你开始第二Activity错误。在你MainActivity,你有这样的:

startActivity(new Intent("com.example.textsmslock.EnableActivity")); 

当你应该有这样的事情:

startActivity(new Intent(this, Enable.class)); 

其次,这是多么Enable可能看起来像在您的清单。你真的没有指示与meta-data标签父活动:

<activity android:name="com.example.textsmslock.Enable" 
    android:label="@string/title_activity_enable"></activity> 

第三,当人们说“堆栈跟踪,”你通常看到在logcat的红色打印出来。这意味着有一个Exception或抛出一个错误。

+0

好的。不幸的是,他们正在踢我离开实验室过夜。但明天我会试试这个。非常感谢! –

相关问题