在xml文件的Preference标签中,用<extra>给<Intent>标签加参数,以及<intent>标签的android:targetPackage和android:targetClass属性使用注意事项
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <Preference android:title="prefs_category_one" android:summary="prefs_summary_category_one"> <!-- 这里android:targetPackage是应用程序的Context,而android:targetClass的路径在子包settings下 --> <!-- 如果把 android:targetPackage="com.demo.artshell.uidemo.settings" 运行时找不到Activity --> <intent android:action="prefs_category_action_ONE" android:targetPackage="com.demo.artshell.uidemo" android:targetClass="com.demo.artshell.uidemo.settings.SupportOldVersionAndReusedActivityOrFragment$ReusedActivity"> <!-- 官网没有说明,但确实可以通过<extra>传附加信息 getIntent().getStringExtra("reused_key") --> <extra android:name="reused_key" android:value="reused_fragment_two"/> </intent> </Preference> <Preference android:title="prefs_category_two" android:summary="prefs_summary_category_two"> <intent android:action="prefs_category_action_TWO" android:targetPackage="com.demo.artshell.uidemo" android:targetClass="com.demo.artshell.uidemo.settings.SupportOldVersionAndReusedActivityOrFragment$ReusedActivity"/> </Preference> </PreferenceScreen>