내 응용 프로그램에 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를 확장
예, 가져 오기 com.google.android.maps.MapActivity를 추가했습니다. 어쨌든 위의 MapActivity 코드를 제공하고 있습니다. – Junaid
안녕하세요, 이름이 "Map"인 활동 클래스의 이름을 지정 했으므로 your.package.Map 대신 java.util 패키지의 Map을 사용하므로 작업 이름을 변경하거나 전체 패키지 경로를 지정하십시오 인 텐트 객체로 인 텐트 intent = new 인 텐트 (context, your.package.Map.class)로, Activity1에서 "import java.util.Map"을 사용하면 제거하십시오 – sunriser
고마워요 ... 이름 변경 전략이 작동했습니다. 문제는 MapActivity를 호출하는 클래스에있었습니다. 이 클래스는 패키지의 Map 대신 java.util.package에서 "Map"을 가져 왔습니다. 어쨌든, 도와 주셔서 다시 한번 감사 드리며 정말로 감사드립니다 .... : D – Junaid