没有处理意图的活动

时间:2012-10-18 18:17:27

标签: android exception android-intent exception-handling android-activity

所以我试图通过使用它来开始另一项活动:

public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent openMap = new Intent("com.highapps.bicineta.MAPVIAS");
            startActivity(openMap);             
        }
    });

我的Android清单看起来像这样:

<activity
        android:name=".MapVias"
        android:label="@string/app_name"
        android:exported="false" >
        <intent-filter>
            <action android:name="com.highapps.bicineta.MAPVIAS" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>

我发现此错误:  “没有处理意图的活动”

有趣的是,我有相同的代码块来启动另一个活动,它工作得很好..我做错了什么?

4 个答案:

答案 0 :(得分:2)

Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
CurrentActivity.this.startActivity(myIntent);

答案 1 :(得分:0)

尝试使用

Intent openMap = new Intent("com.highapps.bicineta.MapVias");

因为MapVias是您的活动的名称。

根据Android开发人员站点:“应该处理意图的组件的名称。此字段是ComponentName对象 - 目标组件的完全限定类名的组合(例如”com.example.project .app.FreneticActivity“)以及在组件所在的应用程序的清单文件中设置的包名称(例如,”com.example.project“)。”

答案 2 :(得分:0)

这样做:

Intent i = new Intent(CurrentActivity.this, MapVias.class);
startActivity(i);

CurrentActivity替换为您当前的活动(嗯,这很明显:D)

答案 3 :(得分:0)

一些快速检查

  1. 您是否已将Activity / ActionBarActivity / FragmentActivity扩展为MapVias活动?
  2. MapVias活动是否在AndroidManifest.xml中提到的默认包中?如果没有,则在清单中声明它时指定绝对名称。
  3. 尝试以这种方式实施。

    <强>的AndroidManifest.xml

    <activity android:name="com.highapps.bicineta.MapVias"></activity>
    

    <强>的OnClick()

        public void onClick(View v) {
                Intent openMap=new Intent(currentActivity.this,MapVias.class);
                startActivity(openMap);
            }
        });