0

我有一个 android 应用程序并检查为库让它成为 Mainapp。现在,我使用该库创建了两个单独的应用程序。子应用程序 1 和子应用程序 2。个别应用程序运行良好。我在库包中有登录活动。成功登录后,用户将被重定向到仪表板活动。简单写在库包的loginactivity页面

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

现在我需要根据子应用程序指定用户将被重定向到哪个活动。那么我如何在不复制页面的情况下管理它。谢谢。

4

3 回答 3

0

你可以提供类和包名作为参数并开始一个新的意图:

Intent sccuess = new Intent();
sccuess.setClassName(packageName, className);
startActivity(sccuess);
于 2013-08-14T11:51:20.883 回答
0

我不确定我对您的理解是否正确,但如果我对您的理解正确,您需要从SecureActivity应该登录的用户那里获取您的活动以访问那里。

从 扩展类后,您可以在方法SecureActivity中检查它。onResume()

这是一个例子:

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

public class YourActivity extends SecureActivity
{
 // ...
}
于 2013-08-14T11:56:50.880 回答
0

在您的图书馆的 Mainifest 中,您应该这样定义

<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>


在库代码中触发意图的位置:

    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:
您的子应用程序具有包名称:

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

于 2013-08-14T11:57:56.167 回答