android plusieurs déclaration d'activité dans le manifeste
J'ai une activité principale. À partir de cela, je vais appeler les 2 autres sous-activités appelé FacebookLogin et Twitterlogin. Je suis en utilisant le code suivant dans AndroidManufest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.examples.Kikin" android:versionCode="1"
android:versionName="1.0">
<!-- THIS IS THE BEGINNING OF SHARING LINKS FROM THE BROWSER -->
<application android:icon="@drawable/kikinlogo"
android:label="@string/app_name" android:debuggable="true">
<activity android:name=".Kikin" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
</activity>
<activity android:name=".FacebookLogin" android:label="@string/app_name">
<intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<!-- <data android:mimeType="image/png" /> -->
</intent-filter>
</activity>
<activity android:name=".TwitterLogin" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.VIEW"></action>
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
<data android:scheme="yourapp" android:host="twitt"></data>
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.INTERNET" />
Suis-je en train de faire?
Dois-je nest la FacebookLogin et TwitterLogin dans les principaux activité?
Le susdit 2 classes sont dans le package com.des exemples..
* est le même lorsqu'il est utilisé.
Je vais vous laisser savoir ce que tout j'ai essayé. J'ai essayé de nidification les 2 activités dans l'activité principale. J'ai essayé comme il est donné ci-dessus. Je suis l'exception d'exécution dans le Logcat: Avez-vous déclaré cette activité dans AndroidManifest.xml?
L'aide de la même étiquette pour les 3 différentes activités de mal? J'ai changé et ai essayé. Toujours la même erreur.
Pouvez-vous poster le <manifest> section, s'il vous plaît?
J'ai juste ajouté.
Lorsque vous obtenez cette erreur? Dès que vous démarrez votre activité principale, ou lorsque vous essayez de lancer TwitterLogin ou FacebookLogin? Christophe réponse ci-dessous est ce que vous devriez commencer avec.
L'aide de la même étiquette pour les 3 différentes activités de mal? J'ai changé et ai essayé. Toujours la même erreur.
Pouvez-vous poster le <manifest> section, s'il vous plaît?
J'ai juste ajouté.
Lorsque vous obtenez cette erreur? Dès que vous démarrez votre activité principale, ou lorsque vous essayez de lancer TwitterLogin ou FacebookLogin? Christophe réponse ci-dessous est ce que vous devriez commencer avec.
OriginalL'auteur Brahadeesh | 2011-01-14
Vous devez vous connecter pour publier un commentaire.
Les étiquettes pour votre FacebookLogin et TwitterLogin semblent manquer un '@' - changer pour android:label="@string/app_name"
Je présume qu'il comprend également la fermeture </manifest> tag? Afficher une copie de votre exception.
OK, en lisant entre les lignes, je pense que vous avez les classes suivantes: com.des exemples.FacebookLogin et com.des exemples.TwitterLogin et com.des exemples.Kikin - si c'est le cas, alors de changer le package de l'attribut dans la racine mainfest élément package="com.exemples"
Désolé de ne pas être clair. Les 3 classes d'activité sont : com.des exemples.Kikin.Kikin , com.des exemples.Kikin.FacebookLogin , com.des exemples.Kikin.TwitterLogin. De sorte que le paquet attribut doit être com.des exemples.Kikin.
OriginalL'auteur John J Smith
Il n'y a pas une telle chose comme un "subactvity". Juste parce que vous appelez une activité à partir d'un autre ne veut pas dire que c'est une "sous-activité".
Vous ne pouvez pas imbriquer l'activité des balises dans le manifeste et que vous auriez probablement obtenir une erreur de compilation si vous avez essayé.
dans le manifeste, vous pouvez définir une seule activité dans l'écran de lancement de la balise bon android prend en charge plusieurs lanceur d'activité.
Comment suis-je censé savoir quel est le problème?
Je demande à propos de la syntaxe du fichier que j'ai posté ci-dessus. Si c'est juste ou pas, est ce que je demande.
OriginalL'auteur Falmarri
Le manifeste que vous avez posté, avait l'air bien.
Mais en ce qui concerne votre commentaire sur le message d'erreur "Avez-vous déclaré cette activité dans AndroidManifest.xml?", vous devez vérifier soigneusement l'emballage et le nom de classe de la
Activity
vous essayez de lancer, et assurez-vous qu'il correspond à la<activity android:name>
que vous avez écrit dans le manifeste.Toutes les infos dont vous avez besoin doivent être dans le message d'erreur.
En fonction de votre commentaire, ce sont les noms de pas sur le même. Vous venez de le dire vous avez
Facebook.java
(ce qui implique le nom complet de la classe estcom.examples.Kikin.Facebook
), mais votre manifeste, se réfère à.FacebookLogin
. Changement de.Facebook
(ou renommez la classeFacebookLogin
).Je suis désolé. Je voulais dire FacebookLogin.java.
OriginalL'auteur Christopher Orr
Ne pas l'activité au nid déclarations, il suffit d'avoir tous les éléments de votre élément de la demande:
L'exemple que vous avez posté ici (mise en retrait de côté) a l'air bien.
Cela semble idiot, mais est le nom de l'activité correcte? android:name est relatif au forfait déclaré dans le paquet de l'attribut du manifeste de l'objet, est le nom complet de votre activité correcte?
Tous les trois classes sont dans le même package. Donc, ils doivent être comme elles sont écrites ci-dessus, seulement, je suppose.
Alors, qui se manifeste serait juste si vos trois activités ont été com.des exemples.Kikin.Kikin, com.des exemples.Kikin.FacebookLogin et com.des exemples.Kikin.TwitterLogin.
Ouais. Ce sont mes 3 activités.
OriginalL'auteur jjb
Peut-être que vous avez déjà testé mais juste essayer de déclarer vos activités avec le chemin d'accès complet (même si vous avez déjà déclaré dans la balise de paquet). Donc, au lieu d'utiliser
utilisation
Parfois, les problèmes sont causés à cause de cela.
Je sais que c'est un vieux thread mais je
m having the same problem and in my case specifying full package name doesn
de t aider. Avez-vous déjà trouvé une solution? Je suis vraiment intéressé de savoir comment éviter cette erreur.OriginalL'auteur Eduardo