GVKun编程网logo

Windows 10用户现在可以同时运行多个Android应用程序

25

如果您想了解Windows10用户现在可以同时运行多个Android应用程序的知识,那么本篇文章将是您的不二之选。同时我们将深入剖析Android应用现在可供首批Windows11测试人员使用、And

如果您想了解Windows 10用户现在可以同时运行多个Android应用程序的知识,那么本篇文章将是您的不二之选。同时我们将深入剖析Android 应用现在可供首批 Windows 11 测试人员使用、Android:哪个更好,在Mac或Windows PC上开发Android应用程序?、ApplicationInfo-Android动态获取包名-Android获取所有的应用程序信息-Android获取应用程序的占用空间大小-Android应用程序管理系列(三)、c# – 是否可以为用户同时运行多个版本的UWP应用程序?的各个方面,并给出实际的案例分析,希望能帮助到您!

本文目录一览:

Windows 10用户现在可以同时运行多个Android应用程序

Windows 10用户现在可以同时运行多个Android应用程序

Windows10用户现在可以同时运行多个Android应用程序

微软这次再次更新了适用于Windows10的Your Phone应用,它具有一项令人兴奋的新功能。

从现在仅供内部人员使用的新版本开始,Your Phone应用程序允许用户在其Windows10设备上运行多个Android应用程序。

换句话说,Windows10用户现在可以在其台式机上运行多个Android应用程序,并且这不仅可以与其他Android应用程序一起使用,还可以与Windows软件一起运行。

“ #WindowsInsiders酷炫的#YourPhone新功能已在部分三星设备上领先。请记住,它正在逐步推出,因此可能需要几天才能启用。”微软首席项目经理Analy Otero Diaz在Twitter上宣布。

※仅在部分三星手机上可用

Windows 10用户现在可以同时运行多个Android应用程序

虽然这显然是一个重大更新,但仅适用于部分三星设备,例如Galaxy Note20。奇怪的是,微软自己的Android设备Surface Duo还不支持在桌面上运行多个Android应用程序的选项。

此外,您的PC必须至少运行2020年5月10日Windows Update或2004版,并连接到与Android设备相同的Wi-Fi。

“几个月前,我们推出了您的电话-应用功能,可让您在PC上启动和固定应用。现在,可以同时启动多个应用程序的功能正在逐步推广到选定的Samsung设备(以下详细信息),而仅在配置为开发,测试版或发布预览通道的PC上,才推广到Windows Insider社区。这是一个早期预览,因此您可能仍然会发现一些问题,但是我们希望听到您的反馈,”微软说。

现在尚无有关何时可以在更多设备上启用该功能的详细信息。

Android 应用现在可供首批 Windows 11 测试人员使用

Android 应用现在可供首批 Windows 11 测试人员使用

Android 应用程序支持是 Windows 11 中最大的新功能之一,但众所周知,当新操作系统在本月早些时候可用于第一批生产设备时,它在发布时就缺失了。

微软只是需要更多时间来确保一切正常运行,该公司承诺在今年晚些时候向内部人士发布它。

今天,这家软件巨头正式宣布,美国内部人士终于可以在他们的 Windows 11 设备上试用 Android 应用程序,作为早期和有限的测试,然后再将相同的功能扩展到更多用户。

该功能适用​​于采用 Intel、AMD 和 Qualcomm 芯片的符合条件的设备,借助 Amazon Appstore,Android 应用程序直接在 Microsoft Store 中可用。

“无论用于构建应用程序的技术如何,我们新的 Microsoft Store 搜索体验都能提供可用的最佳结果,因为当有多个选项可用时,我们致力于为您提供选择。当您准备好下载 Android 应用程序时,Amazon Appstore 将指导您完成其余流程并让您继续前进,”微软解释道。

Android 应用现在可供首批 Windows 11 测试人员使用

应用程序数量有限

然而,此时可供测试的应用程序数量非常有限,因为微软仍希望确保一切都按计划进行。

该公司表示,这项新功能由适用于 Android 的 Windows 子系统提供支持,该子系统实际上是本月早些时候在 Microsoft Store 中发现的。

“为了实现这些类型的体验,我们在 Windows 11 之上引入了一个名为 Windows Subsystem for Android™ 的新组件,该组件支持 Amazon Appstore 及其目录。该子系统包括 Linux 内核和基于 Android 开源项目 (AOSP) 版本 11 的 Android 操作系统,”微软解释说。

“它作为 Amazon Appstore 安装的一部分通过 Microsoft Store 分发,这将允许用户随着时间的推移保持更新,因为我们会继续添加对更多 API、功能和场景的支持。该子系统在Hyper-V虚拟机中运行,例如适用于 Linux 的 Windows 子系统。它了解如何将 AOSP 环境中应用程序的运行时和 API 映射到 Windows 图形层、内存缓冲区、输入模式、物理和虚拟设备以及传感器。”

在这一点上,这个备受期待的功能何时可以在生产设备上推出,仍然没有预计时间。

Android:哪个更好,在Mac或Windows PC上开发Android应用程序?

Android:哪个更好,在Mac或Windows PC上开发Android应用程序?

更好的是,在 Windows PC或Mac上开发我的 Android应用程序?

解决方法

由于苹果公司(以礼貌的方式)“控制”开发方式,您需要一台Mac来开发iPhone应用程序.所以,如果您认为在不久的将来您可能会移植到iPhone上的任何Android应用程序,您也可以自行购买两笔开发硬件,并从Mac开始.

另外,在PC上模拟Mac OS是非常努力的,并且与Apple相当,但您可以在Mac上本机运行Windows操作系统.

ApplicationInfo-Android动态获取包名-Android获取所有的应用程序信息-Android获取应用程序的占用空间大小-Android应用程序管理系列(三)

ApplicationInfo-Android动态获取包名-Android获取所有的应用程序信息-Android获取应用程序的占用空间大小-Android应用程序管理系列(三)

在这里插入图片描述

Android ApplicationInfo 应用程序信息

1、简述
1 ApplicationInfo是android.content.pm包下的一个实体类,用于封装应用的信息,flags是其中的一个成员变量public int flags = 0;用于保存应用的标志信息。

2 ApplicationInfo 通过它可以得到一个应用基本信息。
     这些信息是从AndroidManifest.xml的< application >标签获取的
     
3 ApplicationInfo对象里保存的信息都是<application>标签里的属性值

4 ApplicationInfo与ResolveInfo比较:前者能够得到Icon、Label、meta-data、description。后者只能得到Icon、Label

2、获取ApplicationInfo
2.1 、获取手机上安装所有程序对应的 ApplicationInfo

/**
* 获取手机上安装的所有的程序对应的 ApplicationInfo
* 它是通过解析AndroidManifest.xml的< application>标签中得到的,所以它能得到所有的app
*
* 获取手机上的所有的安装的应用程序信息
*  参数为 标识   一般为 PackageManager.GET_UNINSTALLED_PACKAGES
*/
List<ApplicationInfo> list = packageManager.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);

2.2 、获取指定包名对应的 ApplicationInfo

 /**
* 获取指定应用程序  ApplicationInfo
*  参数一对应应用程序的包名
*  参数二 应用程序对应的标识  通常为 0
*/

            ApplicationInfo applicationInfo = packageManager.getApplicationInfo("com.androidlongs.contactsapplication", 0);

3、通过ApplicationInfo来获取应用程序的 基本信息
3.1 、获取应用程序对应的包名、应用名称

//获取应用图标
Drawable drawable = applicationInfo.loadIcon(packageManager);

//获取应用程序的 包名
String appPackageName = applicationInfo.packageName;

//获取应用名
//参数 packageManager  是应用管理者对象 
String appName =applicationInfo.loadLabel(packageManager).toString();


3.2 、获取应用程序对应数据的目录以及占用的空间大小
//获取应用存放数据目录
String dir = applicationInfo.sourceDir;
Log.d("app  ","应用存放数据目录 " +dir);
 
 //获取应用数据大小
ong length = new File(dir).length();

//转换为 M
float size = length*1f/1024/1024;
Log.d("app  ","应用数据大小 " +length+"\t"+size);

3.3 、判断是否安装在外置储存空间存
//判断是否安装在外存
int flags = applicationInfo.flags;
if((flags&ApplicationInfo.FLAG_EXTERNAL_STORAGE)==ApplicationInfo.FLAG_EXTERNAL_STORAGE){
   
   
   
    Log.d("app  "," 安装在 外置存储空间 ");
}else {
   
   
   
    Log.d("app  "," 安装在 内置存储空间 ");
}
3.4 、判断应用程序是否是系统应用

//判断是否是系统应用
if((flags&ApplicationInfo.FLAG_SYSTEM)==ApplicationInfo.FLAG_SYSTEM){
   
   
   
    Log.d("app  ","  是系统应用  ");
}else{
   
   
   
    Log.d("app  ","  不是系统应用  ");
}

3.5 、manageSpaceActivityName
/**
  * 从”android:manageSpaceActivity“属性得到
  * 用于指定一个Activity来管理数据,
  * 它最终会出现在设置->应用程序管理中,
  * 默认为按钮为”清除数据”,指定此属性后,该按钮可点击跳转到该Activity, 让用户选择性清除哪些数据。若不设置则为null.
 */
String activityName = applicationInfo.manageSpaceActivityName;
Log.i("applicationInfo", "activityName: " + activityName);



3.6 、获取应用程序运行的进程
/**
 * 从”android:process“属性得到,注明应用运行的进程名。或不设置则默认为应用包名。
 */
String processName = applicationInfo.processName;
Log.i("applicationInfo", "processName: " + processName);

3.7 、其他配置信息简述
// 配置文件中的android:backupAgent属性值,用于备份
            String backupAgentName = applicationInfo.backupAgentName;
            Log.i("applicationInfo", "backupAgentName: " + backupAgentName);
            // 获取继承Application类的对象,维护全局的Application状态
            //但一般都不用继承的方式,可以通过Context.getApplicationContext()方法得到
            String className = applicationInfo.className;
            Log.i("applicationInfo", "className: " + className);


            

            /**
             * 可选项,访问当前应用所有组件需要声明的权限,从”android:permission“属性得到。
              */
            String permisson = applicationInfo.permission;
            Log.i("applicationInfo", "permisson: " + permisson);
            // 创建对象时,传入的是GET_SHARED_LIBRARY_FILES该属性才有值
            String[] files = applicationInfo.sharedLibraryFiles;
            Log.i("applicationInfo", "files: " + files);
            // 存放数据的路径  应用数据目录。
            String dataPath = applicationInfo.dataDir;
            Log.i("applicationInfo", "dataPath: " + dataPath);
            // 本地路径  JNI本地库存放路径。
            String nativePath = applicationInfo.nativeLibraryDir;
            Log.i("applicationInfo", "nativePath:" + nativePath);
            // 公共资源路径
            String punlicSourcePath = applicationInfo.publicSourceDir;
            Log.i("applicationInfo", "punlicSourcePath: " + punlicSourcePath);
            // 资源路径  应用APK的全路径
            String sourcePath = applicationInfo.sourceDir;
            Log.i("applicationInfo", "sourcePath: " + sourcePath);

            /**
             * 当前应用所有Activity的默认task密切性。
             * 可以参考ActivityInfo的taskAffinity,从”android:taskAffinity“属性得到。
             * 具体taskAffinity是怎么影响到Activity在task的启动, 后面会在Activity启动模式中细讲
             */
            String taskAffinity = applicationInfo.taskAffinity;
            Log.i("applicationInfo", "taskAffinity: " + taskAffinity);
            // 如果是false,代表application里的所有组件都禁用
            boolean enable = applicationInfo.enabled;
            Log.i("applicationInfo", "enable: " + enable);
            // 表述资源文件的标识
            int descriRes = applicationInfo.descriptionRes;
            Log.i("applicationInfo", "descriRes: " + descriRes);
            int flag = applicationInfo.flags;
            Log.i("applicationInfo", "flag: " + flag);
            // 指定smallest screen width的值,超过这个值,就要开启屏幕兼容
            int compatibleWidth = applicationInfo.compatibleWidthLimitDp;//android:compatibleWidthLimitDp属性
            Log.i("applicationInfo", "compatibleWidth: " + compatibleWidth);
            // 同上,只是这时候用户无法禁止屏幕兼容模式,说明是强制启动屏幕兼容
            int largestWidth = applicationInfo.largestWidthLimitDp;//android:largestWidthLimitDp属性
            Log.i("applicationInfo", "largestWidth: " + largestWidth);
            // 所需屏幕空间的最短尺寸,
            int samllestWidth = applicationInfo.requiresSmallestWidthDp;//android:requiresSmallestWidthDp属性
            Log.i("applicationInfo", "samllestWidth: " + samllestWidth);
            // 应用所需的最小sdk版本
            int sdkVersion = applicationInfo.targetSdkVersion;
            Log.i("applicationInfo", "sdkVersion: " + sdkVersion);
            int theme = applicationInfo.theme;
            Log.i("applicationInfo", "theme: " + theme);//android:theme=
            int uid = applicationInfo.uid;
            Log.i("applicationInfo", "uid: " + uid);
            // 配置文件中的uiOptions属性的值
            int uiOptions = applicationInfo.uiOptions;
            Log.i("applicationInfo", "uiOptions: " + uiOptions);


完毕
在这里插入图片描述

本文同步分享在 博客“早起的年轻人”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

c# – 是否可以为用户同时运行多个版本的UWP应用程序?

c# – 是否可以为用户同时运行多个版本的UWP应用程序?

我们目前有一个内部 WPF应用程序,以不同的方式为不同的部门提供服务.我们有一个分阶段的部署过程,通过以下步骤进行更改:

>发展(本地)
> Alpha测试
> Beta测试
>活着

开发人员需要能够运行所有这些版本的应用程序,并且一些用户访问Beta版本以签署新功能.

目前,这是通过ClickOnce部署的Launcher应用程序完成的,该应用程序下载并运行所选版本的客户端二进制文件.每个版本的应用程序都由相应服务器上的相应Web服务托管(alpha,beta,live).

有谁知道如何通过UWP完成这项工作?我们希望面向未来的应用程序,并考虑支持Surface,Windows phone等.但在所有情况下,开发人员和用户应该能够访问应用程序的不同版本,有时甚至可以同时运行它们.

是否支持同一个UWP应用程序的多个版本的这种并发部署?

解决方法

对于开发,可以通过PowerShell安装这些应用程序.从AppStore你只能获得最新发布的版本,但在本地你可以做你想要的.

使用visual studio将文件部署到本地文件系统时,会提供所需的powershell脚本.如果您的机器需要,它们甚至会提示您创建本地开发人员密钥.

关于Windows 10用户现在可以同时运行多个Android应用程序的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Android 应用现在可供首批 Windows 11 测试人员使用、Android:哪个更好,在Mac或Windows PC上开发Android应用程序?、ApplicationInfo-Android动态获取包名-Android获取所有的应用程序信息-Android获取应用程序的占用空间大小-Android应用程序管理系列(三)、c# – 是否可以为用户同时运行多个版本的UWP应用程序?等相关知识的信息别忘了在本站进行查找喔。

本文标签: