Android设置应用手机屏幕启动流程(一)

来源:互联网 发布:詹姆斯首秀数据 编辑:程序博客网 时间:2024/05/05 23:32

转载请注明出处:http://blog.csdn.net/droyon/article/details/19568941

设置应用启动入口类为Settings.java,在AndroidManifest.xml中的配置如下:

<activity android:name="Settings"                android:label="@string/settings_label_launcher"                android:taskAffinity="com.android.settings"                android:launchMode="singleTask">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <action android:name="android.settings.SETTINGS" />                <category android:name="android.intent.category.DEFAULT" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>

其他应用可以通过Intent发送Action或者指定类名类启动,如下:

intent.setComponent(new ComponentName("com.android.settings", "com.android.settings.Settings"));

ps:如果想更改设置入口类并且保证android其他应用调用设置接口不变,可如下操作:

<activity-alias android:name="Settings"                android:label="@string/settings_label_launcher"                android:taskAffinity="com.android.settings"                android:screenOrientation="portrait"                android:targetActivity="SelfCodeSettings"                android:launchMode="singleTask">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <!-- <action android:name="android.settings.SETTINGS" /> -->                <category android:name="android.intent.category.DEFAULT" />                <!-- <category android:name="android.intent.category.LAUNCHER" /> -->            </intent-filter>        </activity-alias>

不过,一般情况下没这种需求,如果有次需求,可采用如上方案。

设置的启动流程,大体分以下三类:

1、通过Menu--〉设置进入

2、通过如下方式进入设置二级界面。

intent.setComponent(new ComponentName("com.android.settings", "com.android.settings.Settings$WirelessSettingsActivity"));

3、通过快捷方式进入设置子项界面

而每一种启动方式都分为手机屏幕和平板屏幕之分。

本文介绍在手机屏幕中通过Menu--〉设置这种方式启动设置应用的流程。不妥之处,欢迎大家交流。

 

手机屏幕启动流程过程中,方法执行如下图所述:

 

注释一、设置应用的启动。

通过两种方式都可以启动设置应用。

1、intent.setComponent(new ComponentName("com.android.settings", "com.android.settings.Settings"));2、intent.setAction("android.settings.SETTINGS");

 

2 0