2011-07-02 5 views
0

내 응용 프로그램에 MapActivity가 있습니다. 내 매니페스트 파일에 그것을 포함하지만 난 응용 프로그램을 실행할 때, 모든ActivityNotFoundException (MapActivity)

07-02 18:06:39.752: ERROR/AndroidRuntime(354): FATAL EXCEPTION: main 
07-02 18:06:39.752: ERROR/AndroidRuntime(354): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.xtreme.iSenegal/java.util.Map}; have you declared this activity in your AndroidManifest.xml? 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404) 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at android.app.ActivityThread.resolveActivityInfo(ActivityThread.java:2473) 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:277) 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at com.xtreme.iSenegal.Activity1.replaceContentView(Activity1.java:28) 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at com.xtreme.iSenegal.Details$2.onClick(Details.java:94) 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at android.view.View.performClick(View.java:2408) 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at android.view.View$PerformClick.run(View.java:8816) 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at android.os.Handler.handleCallback(Handler.java:587) 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at android.os.Handler.dispatchMessage(Handler.java:92) 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at android.os.Looper.loop(Looper.java:123) 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at java.lang.reflect.Method.invokeNative(Native Method) 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at java.lang.reflect.Method.invoke(Method.java:521) 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
07-02 18:06:39.752: ERROR/AndroidRuntime(354):  at dalvik.system.NativeStart.main(Native Method) 

내 MapActivity 뭐가 문제, 내가 그것을 다음과 같은 오류가 제공하는 버튼을 클릭하여 MapActivity를 시작하려고 할 때마다 MapActivity를 제외하고 잘 실행 ? 왜 그것이 발견되지 않습니까?

내 MapActivity의 코드 :

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.x.iSenegal" 
    android:versionCode="1" 
    android:versionName="1.0"> 
<uses-sdk android:minSdkVersion="8" /> 

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
<uses-permission android:name="android.permission.INTERNET"/>  
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> 
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 

<application android:icon="@drawable/icon" android:label="@string/app_name"> 

    <uses-library android:name="com.google.android.maps" /> 

    <activity android:name=".iSenegal" 
       android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
       android:label="@string/app_name" 
       android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <activity android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" android:name="Activity1" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"></activity> 
    <activity android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" android:name="Activity2" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"></activity> 
    <activity android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" android:name="Activity3" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"></activity> 
    <activity android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" android:name="Activity4" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"></activity> 
    <activity android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" android:name="Activity5" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"></activity> 
    <activity android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" android:name="Categories" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"></activity> 
    <activity android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" android:name="Results" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"></activity> 
    <activity android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" android:name="Details" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"></activity> 
    <activity android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" android:name="Favoris" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"></activity> 
    <activity android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" android:name="Recherche" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"></activity> 
    <activity android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" android:name="SearchResults" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"></activity> 
    <activity android:configChanges="keyboardHidden|orientation" android:screenOrientation="portrait" android:name="Map" android:theme="@android:style/Theme.NoTitleBar.Fullscreen"></activity> 


</application> 

:

import java.io.BufferedInputStream; 
import java.io.FileInputStream; 
import java.io.InputStream; 
import java.util.ArrayList; 
import java.util.List; 

import javax.xml.parsers.SAXParser; 
import javax.xml.parsers.SAXParserFactory; 

import org.xml.sax.InputSource; 
import org.xml.sax.XMLReader; 

import android.content.Context; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.inputmethod.InputMethodManager; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.RelativeLayout; 

import com.google.android.maps.GeoPoint; 
import com.google.android.maps.MapActivity; 
import com.google.android.maps.MapController; 
import com.google.android.maps.MapView; 
import com.google.android.maps.Overlay; 
import com.google.android.maps.OverlayItem; 

공용 클래스지도 {

ArrayList<ListCellInfo> mapsearchresults=new ArrayList<ListCellInfo>(); 

MapView mapView; 
List<Overlay> mapOverlays; 
MapController myMapController; 

MyXMLHandler myXMLHandler = new MyXMLHandler(); 

public static int flag=0; 

@Override 
protected boolean isRouteDisplayed() { 
    return false; 
} 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.map); 

    final EditText SearchForMap = (EditText) findViewById(R.id.editTextmap); 

    Button bckbtn = (Button) findViewById(R.id.retourmap); 
    bckbtn.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 

      if (Details.back_activity_flag == 1) { 

       InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
       mgr.hideSoftInputFromWindow(SearchForMap.getWindowToken(), 0); 
       Intent myIntent = new Intent(v.getContext(), Details.class); 
       Activity1.group.replaceContentView("Details", myIntent); 

      } 
      else if (Details.back_activity_flag == 2) { 

       InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
       mgr.hideSoftInputFromWindow(SearchForMap.getWindowToken(), 0); 
       Intent myIntent = new Intent(v.getContext(), Details.class); 
       Activity2.group.replaceContentView("Details", myIntent); 

      } 
      else if (Details.back_activity_flag == 3) { 

       InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
       mgr.hideSoftInputFromWindow(SearchForMap.getWindowToken(), 0); 
       Intent myIntent = new Intent(v.getContext(), Details.class); 
       Activity3.group.replaceContentView("Details", myIntent); 

      } 

     } 
    }); 

    mapView = (MapView) findViewById(R.id.mapview); 
    mapView.setBuiltInZoomControls(true); 

    mapOverlays = mapView.getOverlays(); 
    Drawable drawable = this.getResources().getDrawable(R.drawable.black_pin_img); 
    MapItemizedOverlay itemizedoverlay = new MapItemizedOverlay(drawable,this); 

    /*Log.v("Details Lattitude",(int)(Details.lattitude* 1e6)+""); 
    Log.v("Details Longitude",(int)(Details.longitude* 1e6)+"");*/ 

    GeoPoint point = new GeoPoint((int)(Details.lattitude* 1e6),(int)(Details.longitude* 1e6)); 

    mapView.setFocusable(true); 
    myMapController = mapView.getController(); 
    myMapController.animateTo(point); 
    myMapController.setZoom(18); 
    myMapController.setCenter(point); 

    OverlayItem overlayitem = new OverlayItem(point, Details.name, ""); 

    itemizedoverlay.addOverlay(overlayitem); 
    mapOverlays.add(itemizedoverlay); 

    mapView.setStreetView(true); 


    RelativeLayout relativelayout = (RelativeLayout) findViewById(R.id.relativeLayoutmap); 
    relativelayout.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 

      InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
      mgr.hideSoftInputFromWindow(SearchForMap.getWindowToken(), 0); 

     } 
    }); 

    final MapItemizedOverlay itemizedoverlay1=itemizedoverlay; 

    Button searchBtn = (Button) findViewById(R.id.searchbuttonmap); 
    searchBtn.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 

      InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
      mgr.hideSoftInputFromWindow(SearchForMap.getWindowToken(), 0); 

      String getSearchText = SearchForMap.getText().toString(); 

      if(getSearchText.length()!=0){ 

       String[] fav=getSearchText.split(","); 

       try { 

        /** Handling XML */ 
        SAXParserFactory spf = SAXParserFactory.newInstance(); 
        SAXParser sp = spf.newSAXParser(); 
        XMLReader xr = sp.getXMLReader(); 

        /** Send URL to parse XML Tags */ 

        InputStream inputFile; 

        SharedPreferences flag = getSharedPreferences(iSenegal.Flag, MODE_PRIVATE); 
        String getFlag = flag.getString("Flag", ""); 

        if(getFlag.equals("0")) 
         inputFile = getResources().openRawResource(R.raw.alldata); 
        else 
         inputFile = new BufferedInputStream(new FileInputStream("/sdcard/alldata.xml")); 

        xr.setContentHandler(myXMLHandler); 
        xr.parse(new InputSource(inputFile)); 

       } catch (Exception e) { 
        System.out.println("XML Pasing Excpetion = " + e); 

       } 

       for(int i=0;i<fav.length;i++){ 

        for(int j=0;j<myXMLHandler.results.size();j++){ 

         if(myXMLHandler.results.get(j).getSearchTag().toLowerCase().contains(fav[i].toLowerCase())) 
          mapsearchresults.add(myXMLHandler.results.get(j)); 

        } 
       } 
       myXMLHandler.results.clear(); 

       if(!mapView.getOverlays().isEmpty()) 
       { 
        mapOverlays.clear(); 
        itemizedoverlay1.mOverlays.clear(); 
        mapView.invalidate(); 

       } 

       if(mapsearchresults.size()>0){ 

        GeoPoint cpoint = new GeoPoint((int)(14.745335 * 1e6),(int)(-17.42157 * 1e6)); 

        mapView.setFocusable(true); 
        myMapController = mapView.getController(); 
        myMapController.animateTo(cpoint); 
        myMapController.setZoom(7); 
        myMapController.setCenter(cpoint); 

        for(int k=0;k<mapsearchresults.size();k++){ 

         GeoPoint point1 = new GeoPoint((int)((mapsearchresults.get(k).getLatitude())* 1e6),(int)((mapsearchresults.get(k).getLongitude())* 1e6)); 
         OverlayItem overlayitem1 = new OverlayItem(point1, mapsearchresults.get(k).getName(), ""); 

         itemizedoverlay1.addOverlay(overlayitem1); 
         mapOverlays.add(itemizedoverlay1); 

        } 
        mapView.invalidate(); 
        mapsearchresults.clear(); 

       } 

      } 

     } 
    }); 

} 

}

내 매니페스트 파일의 코드 MapActivity를 확장

답변

1

지도 활동에 Google 부가 기능을 사용하고 있습니까 (Google 부가 기능을 사용해야하는지도의 경우), 사용 중인지 여부를 확인하십시오. 수표를 사용하고 계시다면 "import com.google. android.maps.MapActivity; " 소스 코드에서 "java.util.Map", Map 및 MapActivity 둘 다 다릅니다. 자세한 내용은 코드 스 니펫을 게시 할 수 있습니다.

+0

예, 가져 오기 com.google.android.maps.MapActivity를 추가했습니다. 어쨌든 위의 MapActivity 코드를 제공하고 있습니다. – Junaid

+0

안녕하세요, 이름이 "Map"인 활동 클래스의 이름을 지정 했으므로 your.package.Map 대신 java.util 패키지의 Map을 사용하므로 작업 이름을 변경하거나 전체 패키지 경로를 지정하십시오 인 텐트 객체로 인 텐트 intent = new 인 텐트 (context, your.package.Map.class)로, Activity1에서 "import java.util.Map"을 사용하면 제거하십시오 – sunriser

+0

고마워요 ... 이름 변경 전략이 작동했습니다. 문제는 MapActivity를 호출하는 클래스에있었습니다. 이 클래스는 패키지의 Map 대신 java.util.package에서 "Map"을 가져 왔습니다. 어쨌든, 도와 주셔서 다시 한번 감사 드리며 정말로 감사드립니다 .... : D – Junaid

관련 문제