android之启动桌面activity

主页面布局:layout\activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

<Button
        android:id="@+id/btnHome"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="启动桌面Activity" />

</LinearLayout>

主页面java代码:

package com.sxt.day04_07_twoaction;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;

public class MainActivity extends Activity implements OnClickListener{

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

private void setListener() {
findViewById(R.id.btnHome).setOnClickListener(this);
}

@Override
public void onClick(View v) {
Intent intent=new Intent();
switch (v.getId()) {
case R.id.btnHome:
intent.addCategory(Intent.CATEGORY_HOME);
intent.setAction(Intent.ACTION_MAIN);
break;
}
startActivity(intent);
}
}

第二个acitivity布局:layout\activity_second.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".SecondActivity" >

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />

</RelativeLayout>

第二个页面java代码:

package com.sxt.day04_07_twoaction;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;

public class SecondActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Log.i("main","SecondActivity");
}

}

列表清单:AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.sxt.day04_07_twoaction"
    android:versionCode="1"
    android:versionName="1.0" >

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.sxt.day04_07_twoaction.MainActivity"
            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="com.sxt.day04_07_twoaction.SecondActivity"
            android:label="@string/title_activity_second" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.DEFAULT"/>
                <category android:name="android.intent.category.HOME"/>这两个就可以代表显示一个桌面
            </intent-filter>
        </activity>
    </application>

</manifest>

时间: 2024-12-05 22:55:49

android之启动桌面activity的相关文章

android 23 启动带2个Categories值的预定义acticity和桌面activity

mainActivity.java package com.sxt.day04_07_twoaction; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; public class Mai

Android开机启动Activity界面

1,原理: 当Android系统完成BOOT阶段之后,就会发送一条名为 ACTION_BOOT_COMPLETED 的广播,我们便可在一个BroadcastReceiver中捕获这条广播,然后启动我们的Activity或者Service,当然要注意的是,我们的application必须具有捕获该广播的权限,下面请看具体步骤: 第一步:首先要有一个用于开机启动的Activity或者Service,这里以系统自己创建的最简单的Activity为例进行讲解. package com.billhoo.s

【Android】应用程序Activity启动过程分析

在Android系统中,有两种操作会引发Activity的启动,一种用户点击应用程序图标时,Launcher会为我们启动应用程序的主Activity:应用程序的默认Activity启动起来后,它又可以在内部通过调用startActvity接口启动新的Activity,依此类推,每一个Activity都可以在内部启动新的Activity.通过这种连锁反应,按需启动Activity,从而完成应用程序的功能. Activity的启动方式有两种,一种是显式的,一种是隐式的,隐式启动可以使得Activit

Android学习路线(十二)Activity生命周期——启动一个Activity

先占个位置,过会儿来翻译,:p Unlike other programming paradigms in which apps are launched with a main()method, the Android system initiates code in an Activity instance by invoking specific callback methods that correspond to specific stages of its lifecycle. Th

Android 浏览器的研究(六)--- ADT调试通过Intent启动的Activity

今天遇到一个问题,在音乐应用里长按一个歌曲,在弹出菜单中选择搜索,在搜索选择框中选择浏览器.正常情况下应该打开浏览器并且使用默认的搜索引擎启动搜索,但是现在浏览器搜索界面并没有打开.首先想到的是打开浏览器工程,在相关位置设置断点,启动调试,发现一切处理正常,浏览器界面打开并正常启动了搜索过程.原来问题只发生在浏览器进程尚未启动,音乐应用使用Intent启动浏览器来进行搜索的情况下.这里分享一下这种情况下如何启动调试分析. 首先,该应用是其他应用通过Intent启动的,而我们需要调试它.在C/C+

《深入透析Android》之 浅析Activity启动模式

前言: Activity的启动模式是一个既基础又容易忽视的问题,但是这个问题有个深刻的认识,对程序员写一个稳定高效的Android程序帮助很大,今天,在B哥引导下,我们对Activity启动模式.Intent Flags做了一番很好的探究. 探究历程: ①   什么是栈 ②   Activity栈 ③   Task ④  Activity启动模式 ⑤  Activity栈和Task联系 ⑥  Intent Flags  ⑦  Activity相关属性taskAffinity 1.    什么是栈

Android View系统分析之三Activity的启动与显示

前言 在Android View系统分析之从setContentView说开来(一)与Android View系统分析之二View与ViewGroup中我们已经简单介绍了一个Activity的UI内容与视图树的组成关系,即View与ViewGroup组成了Activity的可视化视图树,然后将该视图树添加到Activity中的DecorView的content区域,这样整个Activity的UI就填充完成了.那么一个进程和Activity又是如何启动?Activity的UI内容又是如何显示在屏幕

Android世界第一个activity启动过程

Android世界第一个activity启动过程 第一次使用Markdown,感觉不错. Android系统从按下开机键一直到launcher的出现,是一个怎样的过程,中间都做出了什么操作呢,带着这些疑问开始源码之旅. 像windows操作系统一样,每个系统的启动都会有一个引导程序,在linux中,当引导程序启动linux内核后,会加载各种驱动和数据结构,当有了驱动之后,开始加载Android系统,开始进入linux世界的第一个进程:init进程. 在init.c的main中: int main

Android实现开机自启动(二)——启动一个activity

在上一篇的基础上,我们收到了广播,现在我们想做点什么..比如启动一个服务,或者启动一个activity.以activity为例,下面聊一聊具体做法. 在onReceive方法里跳转到activity即可,需要注意的是在startActivity之前要setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 或者addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);两个是一个意思. 下面给代码 1 package com.example.testr