Android 简单闪屏

 参考 http://www.cnblogs.com/royenhome/archive/2010/05/05/1727971.html

 

MainMenu.java

 

package com.demo;
import android.app.Activity;
import android.os.Bundle;
public class MainMenu extends Activity{

    @Override
    
protected void onCreate(Bundle savedInstanceState) {        
        
super.onCreate(savedInstanceState);
        
this.setContentView(R.layout.main);
    }

}


 

test.java

 

代码
package com.demo;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;


public class test extends Activity {

    
private long m_dwSplashTime=3000;
    
private boolean m_bPaused=false;
    
private boolean m_bSplashActive=true;

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

        Thread splashTimer
=new Thread()
        {
            
public void run(){
                
try{
                    
//wait loop
                    long ms=0;
                    
while(m_bSplashActive && ms<m_dwSplashTime){
                        sleep(
100);

                        
if(!m_bPaused)
                            ms
+=100;
                    }

                    startActivity(
new Intent("com.google.app.splashy.CLEARSPLASH"));
                }
                
catch(Exception ex){
                    Log.e(
"Splash",ex.getMessage());
                }
                
finally{
                    finish();
                }
            }
        };
        splashTimer.start();
    }

    @Override
    
protected void onPause() {        
        
super.onPause();
        m_bPaused
=true;
    }

    @Override
    
protected void onResume() {        
        
super.onResume();
        m_bPaused
=false;
    }

    @Override
    
public boolean onKeyDown(int keyCode, KeyEvent event) {        
        
super.onKeyDown(keyCode, event);
        
switch(keyCode){
        
case KeyEvent.KEYCODE_MENU:
            m_bSplashActive
=false;
            
break;
        
case KeyEvent.KEYCODE_BACK:
            
/*两种退出方法*/
            
/* System.exit(0);*/
            
/* android.os.Process.killProcess(android.os.Process.myPid());*/
            android.os.Process.killProcess(android.os.Process.myPid());
            
break;
        
default:
            
break;
        }        
        
return true;
    }
}


 


AndroidManifest.xml  这里面配置很重要

 

代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package
="com.demo"
android:versionCode
="1"
android:versionName
="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">

<activity android:name="test" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity android:name=".MainMenu" android:label="@string/app_name">
<intent-filter>
<action android:name="com.google.app.splashy.CLEARSPLASH" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>


</application>


</manifest>

 

posted on 2010-05-07 10:35  gwazy  阅读(1028)  评论(0编辑  收藏  举报

导航