从首选项屏幕开始活动(意图在xml文件中定义)

在我的偏好文件中,我去这个

<PreferenceCategory android:title="Title" > <Preference android:title="title" > <intent android:action="com.my.package.MainActivity" /> </Preference> </PreferenceCategory> 

该活动在清单文件中创build,但我仍然得到

 android.content.ActivityNotFoundException: No Activity found to handle Intent { act=com.my.package.MainActivity } 

我如何从首选项屏幕开始活动?

Solutions Collecting From Web of "从首选项屏幕开始活动(意图在xml文件中定义)"

我有同样的问题,但没有我在stackoverflowsearch解决scheme解决了我的activitynotfoundexception。

这里是我从这里find的工作解决scheme:

  <PreferenceScreen android:title="@string/title_intent_preference" android:summary="@string/summary_intent_preference"> <intent android:action="your.action.string"/> </PreferenceScreen> 

在manifest.xml中的活动中设置一个意图filter

  <activity ...> <intent-filter> <action android:name="your.action.string"/> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 

在你的清单中:

这是您的活动定义称为[您的包] .MainActivity。

 <activity android:name=".MainActivity"> <intent-filter> <action android:name="example.action.ACTION_MAIN_ACTIVITY" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 

另外,请尝试使用PreferenceScreen:

 <PreferenceScreen android:title="@string/my_location_settings"> <intent android:action="example.action.ACTION_MAIN_ACTIVITY"> </intent> </PreferenceScreen> 

有关更多详细信息,请参阅此链接… 从preferences.xml开始活动

这不是从XML开始意图的正确方法。 “android:action”字段不是要尝试启动的活动的名称; 它描述了另一个活动可以提供的意图filter(例如android.intent.action.VIEW或android.intent.action.EDIT)的操作。

看到这个答案正确使用<intent >,android:action等: https : //stackoverflow.com/a/3751306/582004

确保在你的AndroidManifest.xml中,你的活动包含一个<intent-filter >和你在PreferenceActivity(在引用的答案中,这是android.intent.action.VIEW)中请求的<action >。

尝试这个

  <intent android:targetPackage="your.package" android:targetClass="your.package.yourMainClassName"/>