26

找不到处理Intent错误的活动?它将如何解决。Android:没有找到处理Intent错误的活动?如何解决

Preference customPref = (Preference) findPreference("DataEntryScreen"); 
    customPref 
     .setOnPreferenceClickListener(new OnPreferenceClickListener() { 
     public boolean onPreferenceClick(Preference preference) {     

     Intent i = new Intent("com.scytec.datamobile.vd.gui.android.AppPreferenceActivity"); 
       startActivity(i); 
        return true;           
       } 
      }); 
+0

您是否注册了意向过滤器('“com.scytec.datamobile.vd.gui.android.AppPreferenceActivity”')以显示最近的活动? – Karthik 2012-02-06 08:42:01

+1

没有。它怎么可能?请写出正确的意图? 我的意思是说代码 – 2012-02-06 08:43:27

+0

在这里发布你的清单文件,(与条目对应的活动 - AppPreferenceActivity)。那么我们可以帮助您使用正确的代码。 – Karthik 2012-02-06 08:46:50

回答

40

添加下面的清单:

<activity android:name=".AppPreferenceActivity" android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="com.scytec.datamobile.vd.gui.android.AppPreferenceActivity" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
    </activity> 
+0

单击答案旁边的刻度标记。请参阅http:// stackoverflow。com/faq#howtoask – Karthik 2012-02-07 08:32:11

+0

注意片段上的缩进关闭 - 'category'与'action'处于同一级别 - 代码正确,但对于可能键入'category'作为子元素的用户。 – Andy 2018-01-14 16:51:26

+0

@Andy谢谢。对,这可能会导致混淆。编辑代码。 – Karthik 2018-01-18 06:21:34

1

意向意图=新意图(字符串)为参数的任务定义,而要传递参数组件名称到这一点,使用代替:

Intent i = new Intent(Settings.this, com.scytec.datamobile.vd.gui.android.AppPreferenceActivity.class); 
        startActivity(i); 

在此声明的类的名称代替ActivityName活动中,该代码位于

+0

他的构造函数Intent(new Preference.OnPreferenceClickListener(){},Class )未定义 – 2012-02-06 09:01:50

+0

使用您的第一个活动名称而不是活动名称而不是仅此,因为第一个参数应该是Activity的实例。 – jeet 2012-02-06 09:22:12

14

在我的情况下,我确信行动是正确的,但我通过错误的URL,我通过网站链接没有http://在它的开始,所以它引起了同样的问题,这是我的清单(部分它)

<activity 
     android:name=".MyBrowser" 
     android:label="MyBrowser Activity" > 
     <intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 
      <action android:name="com.dsociety.activities.MyBrowser" /> 

      <category android:name="android.intent.category.DEFAULT" /> 

      <data android:scheme="http" /> 
     </intent-filter> 
    </activity> 

当我下面的代码,相同的异常被抛出在运行时:

Intent intent = new Intent(); 
intent.setAction("com.dsociety.activities.MyBrowser"); 
intent.setData(Uri.parse("www.google.com")); // should be http://www.google.com 
startActivity(intent); 
5

一般避免这种异常,则需要通过尝试和catch包围你的代码像这样

try{ 

// your intent here 

} catch (ActivityNotFoundException e) { 
// show message to user 
} 
相关问题