2013-08-14 5 views
0

J'ai une application Android et vérifié que la bibliothèque laisse Mainapp. Maintenant, j'ai créé deux applications distinctes en utilisant cette bibliothèque à savoir. subapp1 et subapp2. Les applications individuelles fonctionnent bien. J'ai une activité de connexion dans le paquet de la bibliothèque. En cas de connexion réussie, l'utilisateur sera redirigé vers l'activité du tableau de bord. écrit simplement dans la page loginactivity du pack bibliothèqueProjet de bibliothèque Android redirection personnalisée

Intent i = new Intent(); 
     i.setClass(getApplicationContext(), UserhomeActivity.class); 
     startActivity(i); 

Maintenant je dois préciser à quelle activité l'utilisateur sera redirigé basé sur l'application sous. Alors comment je peux gérer cela sans reproduire les pages. Merci.

Répondre

0

vous pouvez fournir le nom de classe et package comme argument et commencer une nouvelle intention:

Intent sccuess = new Intent(); 
sccuess.setClassName(packageName, className); 
startActivity(sccuess); 
0

Je ne suis pas sûr que je vous comprends bien, mais si je comprends que vous corriger, vous devez tirer vos activités SecureActivity quel utilisateur est censé être connecté pour y accéder.

Après avoir étendu vos classes de SecureActivity, vous pouvez le vérifier dans la méthode onResume().

Voici un exemple:

public class SecureActivity extends Activity 
{ 
@Override 
public void onResume() 
{ 
    // Check if user logged in or not. 
} 
} 

public class YourActivity extends SecureActivity 
{ 
// ... 
} 
0

Dans le Mainifest de votre bibliothèque, votre devrait définir comme

<activity 
    android:name="com.gmail.app.activities.A_Activity" 
    android:label="@string/app_name" 
    android:screenOrientation="portrait" 
    android:theme="@style/NoActionBar" > 
    <intent-filter> 
     <action android:name="com.gmail.app.A.Fire_Activity" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 

<activity 
    android:name="com.gmail.app.activities.B_Activity" 
    android:label="@string/app_name" 
    android:screenOrientation="portrait" 
    android:theme="@style/NoActionBar" > 
    <intent-filter> 
     <action android:name="com.gmail.app.B.Fire_Activity" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
    </intent-filter> 
</activity> 


Dans le code bibliothèque où le feu dans l'intention:

Intent i = new Intent(_context.getPackageName() + ".Fire_Activity"); 
    //Action will be like com.gmail.app.A.Fire_Activity or com.gmail.app.B.Fire_Activity 

    startActivity(i); 


PS:
Votre sous-Apps ont des noms de package-:

com.gmail.app.A com.gmail.app.B

Questions connexes