0

だから私はこれを使って別の活動を始めようとしています:

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

私のアンドロイドマニフェストは次のようになります:

<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

Just do this:

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

Replace CurrentActivity with your current Activity(well, this is obvious :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 に答える
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 に答える