android - 一个安装两个应用程序的 .apk 文件

标签 android android-layout android-widget apk

这是一个关于具有两个不同 .apk 的 android 应用程序(或一个 .apk 文件中包含两个应用程序)的问题

我有两个应用程序,它们做的事情完全不同但又相关,比如一个是标准用户应用程序,一个是管理应用程序。但是用户可以既是用户又是管理员。我想知道我是否可以创建一个 .apk 文件来将两个应用程序安装到手机上?我将如何解决这个问题?

谢谢, 马特

最佳答案

您可以在同一个 list 文件中有两个 Activity 元素,它们都具有 action=MAINcategory=LAUNCHER 的 intent 过滤器。此外,您还必须为两个 Activity 元素使用属性“android:taskAffinity”(另请参见 here):

<application android:allowBackup="true"        
             android:icon="@drawable/main_icon"
             android:label="@string/main_name"
             android:theme="@style/AppTheme" >
             
    <activity android:name="com.foobar.MyActivity2"            
              android:taskAffinity="com.foobar.MyActivity2"
              android:icon="@drawable/icon1"
              android:label="@string/name1" >
        <intent-filter>
            <action   android:name="android.intent.action.MAIN"       />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>        
    
    <activity android:name="com.foobar.MyActivity2"
              android:taskAffinity="com.foobar.MyActivity2"
              android:icon="@drawable/icon1"
              android:label="@string/name2" >
        <intent-filter>
            <action   android:name="android.intent.action.MAIN"       />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>             
    
</application>

当带有此 list 的 APK 文件安装到设备上时,它将在主屏幕上创建两个图标。这些图标的标题将从属性 android:label 中获取,图标将从属性 android:icon 中获取。在 “设置 | 应用程序” 下的应用程序列表中,您将看到由应用程序标签的属性定义的名称和图标。当您在应用列表中为此条目选择“卸载”时,这两个“应用”都将从设备中删除。

关于android - 一个安装两个应用程序的 .apk 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10682576/

相关文章:

Android 权限拒绝 : broadcasting Intent

android - TableRow 内部的 LinearLayout 发出警告

android - 在构建时将 XSL 应用于布局 XML?

android - 从 BroadcastReceiver 启动服务

android - Jenkins环境变量中的Android配置

android - 是否可以将 Activity 和 fragment 与底部导航一起使用?

android - 游标适配器在应用程序最小化时丢失数据

android - 设置操作栏标题和副标题

java - 如何在代码中添加 BarcodeFragment?

android - 无法将 RelativeLayout 添加到 DrawerLayout