您的位置:首页 > 大数据 > 人工智能

通过按钮跳过SplashActivity(启动画面),延时自动跳过SplashActivity进入MainActivity

2016-04-15 20:40 621 查看
方法1:通过顶栈名称进行判断,是否通过Handler进入MainActivity,避免重复进入MainActivity。

共有2个Activity:SplashActivity和MainActivity。

启动APP默认进入SplashActivity。

@Override
protected void onCreate(Bundle savedInstanceState) {

//通过button进入MainActivity
Button button = (Button) findViewById(R.id.InMainActivity_button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(SplashActivity.this,MainActivity.class));
finish();
}
});

//延时自动进入MainActivity
handler.sendEmptyMessageDelayed(START_ACTIVITY,6000);

//获得栈顶Activity名称
System.out.println(getRunningActivityName());
}

//获得栈顶Activity名称,需要在AndroidManifest.xml中设置权限
//<uses-permission android:name="android.permission.GET_TASKS" />//获得栈顶Activity名称

//获得栈顶Activity名称
private String getRunningActivityName(){<span id="transmark"></span>
ActivityManager activityManager=(ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
String runningActivity=activityManager.getRunningTasks(1).get(0).topActivity.getClassName();
return runningActivity;
}

//延时自动进入MainActivity
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
System.out.println(getRunningActivityName());
//如果栈顶Activity名称是SplashActivity,则进入MainActivity,为了避免重复进入MainActivity
if ("com.example.iwanghang.drmplayer.SplashActivity".equals(getRunningActivityName())) {
super.handleMessage(msg);
switch (msg.what) {
case START_ACTIVITY:
startActivity(new Intent(SplashActivity.this, MainActivity.class));
finish();
break;
}
}
}
};


推荐方法2:

方法2:通过布尔值进行判断,是否通过Handler进入MainActivity,避免重复进入MainActivity。

共有2个Activity:SplashActivity和MainActivity。

启动APP默认进入SplashActivity。

public class SplashActivity extends AppCompatActivity {
private static final int START_ACTIVITY = 0x1;
private boolean InMainActivity = false;

//通过button进入MainActivity
Button button = (Button) findViewById(R.id.InMainActivity_button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
InMainActivity = true;
startActivity(new Intent(SplashActivity.this,MainActivity.class));
finish();
}
});

//延时自动进入MainActivity
handler.sendEmptyMessageDelayed(START_ACTIVITY,6000);
}

//延时自动进入MainActivity
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
System.out.println("InMainActivity = " + InMainActivity);
//如果InMainActivity == false,则进入MainActivity,为了避免重复进入MainActivity
if (InMainActivity == false) {
super.handleMessage(msg);
switch (msg.what) {
case START_ACTIVITY:
startActivity(new Intent(SplashActivity.this, MainActivity.class));
finish();
break;
}
}
}
};
}<span id="transmark"></span>


G
M
T

檢測語言
阿尔巴尼亚语阿拉伯语阿塞拜疆语
爱尔兰语爱沙尼亚语巴斯克语
白俄罗斯语保加利亚语冰岛语
波兰语波斯尼亚语波斯语
布尔语(南非荷兰语)丹麦语德语
俄语法语菲律宾语
芬兰语高棉语格鲁吉亚语
古吉拉特语哈萨克语海地克里奥尔语
韩语豪萨语荷兰语
加利西亚语加泰罗尼亚语捷克语
卡纳达语克罗地亚语拉丁语
拉脱维亚语老挝语立陶宛语
罗马尼亚语马尔加什语马耳他语
马拉地语马拉雅拉姆语马来语
马其顿语毛利语蒙古语
孟加拉语缅甸语苗语
南非祖鲁语尼泊尔语挪威语
旁遮普语葡萄牙语齐切瓦语
日语瑞典语塞尔维亚语
塞索托语僧伽罗语世界语
斯洛伐克语斯洛文尼亚语斯瓦希里语
宿务语索马里语塔吉克语
泰卢固语泰米尔语泰语
土耳其语威尔士语乌尔都语
乌克兰语乌兹别克语希伯来语
希腊语西班牙语匈牙利语
亚美尼亚语伊博语意大利语
意第绪语印地语印尼巽他语
印尼语印尼爪哇语英语
约鲁巴语越南语中文简体
中文繁体
阿尔巴尼亚语
阿拉伯语阿塞拜疆语爱尔兰语
爱沙尼亚语巴斯克语白俄罗斯语
保加利亚语冰岛语波兰语
波斯尼亚语波斯语布尔语(南非荷兰语)
丹麦语德语俄语
法语菲律宾语芬兰语
高棉语格鲁吉亚语古吉拉特语
哈萨克语海地克里奥尔语韩语
豪萨语荷兰语加利西亚语
加泰罗尼亚语捷克语卡纳达语
克罗地亚语拉丁语拉脱维亚语
老挝语立陶宛语罗马尼亚语
马尔加什语马耳他语马拉地语
马拉雅拉姆语马来语马其顿语
毛利语蒙古语孟加拉语
缅甸语苗语南非祖鲁语
尼泊尔语挪威语旁遮普语
葡萄牙语齐切瓦语日语
瑞典语塞尔维亚语塞索托语
僧伽罗语世界语斯洛伐克语
斯洛文尼亚语斯瓦希里语宿务语
索马里语塔吉克语泰卢固语
泰米尔语泰语土耳其语
威尔士语乌尔都语乌克兰语
乌兹别克语希伯来语希腊语
西班牙语匈牙利语亚美尼亚语
伊博语意大利语意第绪语
印地语印尼巽他语印尼语
印尼爪哇语英语约鲁巴语
越南语中文简体中文繁体
語言功能限100個字符

選項 :
歷史 :
幫助 : 反饋關閉
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: