2016-12-28 17 views
1

Was ist der richtige Weg, um eine Aktivität von einem PreferenceScreen zu starten?starten Aktivität von Präferenz Aktivität

Hier ist mein Code, der nicht funktioniert.

<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <Preference android:title="Change password"> <intent android:targetClass="org.kekem.activity.MyActivity" android:targetPackage="org.kekem.activity"/> </Preference> </PreferenceScreen>

Die Aktivität in meiner Manifest-Datei wird auch wie folgt erklärt:

<activity 
     android:name=".activity.MyActivity" 
     android:label="Change password" 
     android:parentActivityName=".activity.MainActivity" 
     android:screenOrientation="portrait"> 
    </activity> 

Dieser Fehler ausgelöst wird:

android.content.ActivityNotFoundException: Unable to find explicit activity 
class org.kekem.activity/org.kekem.activity.MyActivity have you declared 
this activity in your AndroidManifest.xml? 

Antwort

1

Das targetPackage Attribut auf Ihrem <intent> Tag das sein sollte Paket-ID (auch bekannt als die Anwendungs-ID) Ihrer Anwendung, nicht der Name des Java-Pakets, in dem yo Ihre Aktivität befindet sich.

So kann Ihr <intent> wahrscheinlich so etwas wie dies sein sollte, ID Ihrer Anwendung unter der Annahme org.kekem:

<intent 
    android:targetClass="org.kekem.activity.MyActivity" 
    android:targetPackage="org.kekem"/> 
+0

Große Antwort @ Tanis.7x. Ich hatte das src-Paket meiner Anwendung nach der Veröffentlichung geändert, aber die Anwendungs-ID blieb unverändert. Nachdem ich Ihren Post gelesen habe, habe ich die Gradle-Datei überprüft und die ApplicationID unterscheidet sich vom src-Paket. Jetzt funktioniert es wie ein Zauber. Ich kann jetzt vorwärts gehen. Vielen Dank. – DeKekem

Verwandte Themen