2016-07-06 9 views
0

既に質問されている質問をしているその人であることを恐れています..... *私はこの問題のさまざまな解決策を見てきましたが、 。 マップアクティビティを開始したいボタンがあります。ActivityNotFoundException:インテントを処理するアクティビティが見つかりません

以下

活動です:

public void OnclickButtonListener() { 
    button_map = (Button)findViewById(R.id.button); 
    button_map.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Intent mapintent = new Intent("mf.tutorial.MapsActivity"); 
      startActivity(mapintent); 
     } 
    }); 

、私のマニフェストファイルに処理され意思:

 <activity 
     android:name=".MapsActivity" 
     android:label="@string/title_activity_maps"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

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

エラーが返されたが、次のようになります。

ActivityNotFoundException: No Activity found to handle Intent { act=mf.tutorial.MapsActivity } 

すべてのヘルプはありますこれまでの私の年齢を取ってきたので本当に感謝し、これはちょうど最新の障害です。解決策に関連する可能性のあるコードの他の部分を提供していただければ幸いです。

ありがとうございました!

答えて

1

私はMapsActivityがあなたのapkのアクティビティだとしていますか?その場合、Intent intent = new Intent(context, MapsActivity.class);を使用します。使用したインテントのバージョンは、特定のアクションのインテントフィルターを持つアクティビティーを実行するためのものです。通常、カメラアプリやダイヤラーのようなシステムアプリにアクセスするために使用されます。あなたはActivityを起動しようとすると

1

、あなたはこれを行う:

Intent mapintent = new Intent("mf.tutorial.MapsActivity"); 

これはIntentを作成し、"mf.tutorial.MapsActivity"にそのIntentでアクションを設定します。

startActivity()に電話すると、AndroidはインストールされたアプリケーションでActivityを見つけようとしますが、これはACTION "mf.tutorial.MapsActivity"を処理する方法を知っています。何もないので、あなたはActivityNotFoundExceptionを得る。

暗黙のACTIONではなく、明示的なCOMPONENTでActivityを起動することをお勧めします。このようにそれを行う:2引数のコンストラクタを使用して

Intent mapintent = new Intent(context, MapsActivity.class); 
    startActivity(mapintent); 

は、明示的に(この場合にはMapsActivity)のコンポーネントを設定することができます。パラメータcontextは、Activityの呼び出しを参照する必要があります。

関連する問題