转载请注明出处: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");