2016-04-22 2 views
1

Ich versuche, eine Aktivität aus einer Bibliothek über Intent aufzurufen. Ich konnte den Fehler der Manifest-Deklaration jedoch nicht korrigieren. Ich benutze Eclipse und ich suche Quellen Android, aber das Dokument hat sich geändert, alle Beispiele zurück auf dieser verdammten Seite: http://developer.android.com/tools/help/adt.html Können Sie bitte, erklären Sie mir, wie weiter?So deklarieren Sie die Aktivität einer benutzerdefinierten Bibliothek im Manifest

Ich vereinfachte meinen Code auf zwei Aktivitäten: Eins im Projekt (MainActivity.java) und das andere in einer Bibliothek (MyLibrary.java).

public class MainActivity extends Activity implements View.OnClickListener { 

Button b = null; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    b = (Button)findViewById(R.id.btn_start_second); 
    b.setOnClickListener(this); 
} 

@Override 
public void onClick(View v) { 
    switch(v.getId()){ 
    case R.id.btn_start_second: 
     Intent intent = new Intent(getApplicationContext(), MyLibrary.class); 
     startActivity(intent); 
     break; 
    } 

} 

MyLibrary tun nichts außer setContentView() mit einem benutzerdefinierten Bildschirm. Ich legte MyLibrary als eine Bibliothek und fügen Sie es korrekt als Abhängigkeit (ich kann es aus meinem Projekt sehen).

android.content, ActivityNotFoundException: Die explizite Aktivitätsklasse konnte nicht gefunden werden {com.exemple.testlibrary/com.exemple.library.MyLibrary}; diese Aktivität in AndroidManifest.xml haben Sie

erklärt

Und die Anwers ist ja:

<uses-sdk 
    android:minSdkVersion="15" 
    android:targetSdkVersion="22" /> 

<application 
    android:allowBackup="true" 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 


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

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

    <activity 
     android:name="com.exemple.mylibrary.MyLibrary" 
     android:label="library" /> 


</application> 

So suchte ich Beispiele von Bibliotheksdeklaration im Manifest, aber ich Ich wiederhole nur die gleichen Fehler oder bringe neue hervor.

Entschuldigung für mein schlechtes Englisch und danke für Ihre Zeit. :)

Protokollfehler:

E/AndroidRuntime(11021): FATAL EXCEPTION: main 
E/AndroidRuntime(11021): Process: com.example.testlibrary, PID: 11021 
E/AndroidRuntime(11021): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.testlibrary/com.example.mylibrary.MyLibrary}; have you declared this activity in your AndroidManifest.xml? 
E/AndroidRuntime(11021): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1634) 
E/AndroidRuntime(11021): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1430) 
E/AndroidRuntime(11021): at android.app.Activity.startActivityForResult(Activity.java:3457) 
E/AndroidRuntime(11021): at android.app.Activity.startActivityForResult(Activity.java:3418) 
E/AndroidRuntime(11021): at android.app.Activity.startActivity(Activity.java:3660) 
E/AndroidRuntime(11021): at android.app.Activity.startActivity(Activity.java:3628) 
E/AndroidRuntime(11021): at com.example.testlibrary.SecondActivity.onClick(SecondActivity.java:33) 
E/AndroidRuntime(11021): at android.view.View.performClick(View.java:4463) 
E/AndroidRuntime(11021): at android.view.View$PerformClick.run(View.java:18770) 
E/AndroidRuntime(11021): at android.os.Handler.handleCallback(Handler.java:808) 
E/AndroidRuntime(11021): at android.os.Handler.dispatchMessage(Handler.java:103) 
E/AndroidRuntime(11021): at android.os.Looper.loop(Looper.java:193) 
E/AndroidRuntime(11021): at android.app.ActivityThread.main(ActivityThread.java:5292) 
E/AndroidRuntime(11021): at java.lang.reflect.Method.invokeNative(Native Method) 
E/AndroidRuntime(11021): at java.lang.reflect.Method.invoke(Method.java:515) 
E/AndroidRuntime(11021): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824) 
E/AndroidRuntime(11021): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640) 
E/AndroidRuntime(11021): at dalvik.system.NativeStart.main(Native Method) 
+0

fügen Sie Ihre Fehlerprotokolle hier –

+0

Sorry, für das Ticket, ich hatte es zu vereinfachen: OnClick auf die Haupttätigkeit Schaltfläche, um eine Absicht der zweiten Aktivität beginnen. Klicken Sie auf die Schaltfläche für die zweite Aktivität und starten Sie die LibraryActivity. – Eiji

+0

Versuchen Sie, die MyLibrary-Aktivität im Manifest der Bibliothek zu deklarieren. – sonngaytho

Antwort

0

ok ich sah, jetzt ist es aber vielleicht vertippt es einfach, in Ihrem Android-Manifest

android:name="com.exemple.mylibrary.MyLibrary" 

es wie "Beispiel" sein sollte, oder das ist richtig ?

android:name="com.example.mylibrary.MyLibrary" 
+0

Verdammt ... Mein Französisch bringt mich um ... Entschuldigung dafür =. = Danke! – Eiji

+0

Sie sollten versuchen, Android Studio zu verwenden. Es wird dich bemerken, wenn du Fehler im Manifest hast. Und Eclipse nicht. – sonngaytho

+0

yah, du solltest jetzt zu Android Studio oder IntelliJ Idea migrieren, sie hören jetzt auf, Eclipse ADT zu unterstützen, nur um Probleme in der Zukunft zu vermeiden. –