0

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

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

4 回答 4

2
Intent myIntent = new Intent(CurrentActivity.this, NextActivity.class);
CurrentActivity.this.startActivity(myIntent);
于 2012-10-18T18:18:41.023 回答
0

尝试使用

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

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

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

于 2012-10-18T18:27:57.237 回答
0

只需这样做:

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

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

于 2012-10-18T18:41:01.443 回答
0

一些快速检查

  1. 您是否将 Activity/ActionBarActivity/FragmentActivity 扩展到 MapVias 活动?
  2. MapVias 活动是否在 AndroidManifest.xml 中提到的默认包中?如果不是,则在清单中声明时指定绝对名称。

尝试以这种方式实现。

AndroidManifest.xml

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

点击()

    public void onClick(View v) {
            Intent openMap=new Intent(currentActivity.this,MapVias.class);
            startActivity(openMap);
        }
    });
于 2015-03-04T06:14:32.410 回答