问题标签 [android-multiple-users]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
303 浏览

android - Profile Switch 上的应用程序终止要求

我正在处理的android应用程序涉及两个活动(父(P)和子(C))。问题是在配置文件切换(例如从正常模式到受限配置文件模式)时,父活动被一个包杀死我们依赖它,即尽管Android不建议在配置文件切换时终止活动,但我们有一个要求,所以我们必须这样做。因此,在这种情况下,我们也希望在配置文件切换的情况下完成子活动。我已经完成了如何检测用户之间的切换并且看到当我将子活动作为独立活动启动时,这可以完美地检测到配置文件切换。但实际要求是当父活动通过意图启动子活动时。在这种情况下,它根本不会检测到配置文件切换。PS:我知道 system.exit 不应该在 Android 应用程序中使用,但这是一个要求,因为父活动在配置文件切换的情况下执行此操作。我这里也有另一个查询,因为 system.exit(0) 是为父活动完成的,它不应该杀死整个过程吗?这不意味着它也会杀死孩子的活动吗?但事实并非如此!我能以某种方式实现这一目标吗?如果可能的话,那么我根本不需要儿童活动的接收器。编码 :

}

我已经在 onResume/onCreate/onStart 等各个地方注册了接收器,但控制永远不会到达配置文件切换接收器,即使它在从父活动启动子活动时到达 onResume。我注册接收器的方式是:

我没有取消注册接收器。这是必需品吗?我尝试在 onStart 中注册接收器并在 onStop 中取消注册,但在这种情况下,应用程序从未检测到配置文件切换。

0 投票
1 回答
369 浏览

android - 如何识别在 Android 多用户功能上激活了哪个用户配置文件?

Android 具有多用户功能:

在此处输入图像描述

我想在我的应用程序中识别代码的某些部分,即实际激活的用户。例如,如果激活的用户是第一、第二或访客。

有什么办法可以检查吗?

0 投票
1 回答
432 浏览

android - Android以编程方式创建apk

我有一个应用程序,我在其中做了一些工作,比如用一些记录更新数据库。现在我想生成它的 .apk 文件,所以如果我将该 .apk 发送给另一个用户,他或她可以从我离开的地方继续工作。就像我写了半篇文章一样,现在我想要其他人来完成它,所以我将那个 .apk 发送给他,他可以安装它并继续我们的工作。我所能找到的只是为所有应用程序获取 apk,但我希望生成的 apk 能够完成我在我的应用程序中完成的所有工作,以便其他用户可以轻松继续

参考:如何以编程方式获取应用程序的 .apk 文件

0 投票
1 回答
309 浏览

android - 适用于 Android 多用户的 getInstalledPackages()

我想获取我设备上安装的所有应用程序的列表。我的代码如下: PackageManager pm = getApplicationContext().getPackageManager(); List<PackageInfo> list = pm.getInstalledPackages(0);

当我尝试在我的设备上注册多个用户(即 Android for Work)时,API 从相同的用户空间/托管配置文件返回一个列表,这是有道理的。

我的问题是,是否有一个选项可以从设备中获取所有应用程序的列表(例如设置 - 应用程序 - 所有应用程序),无论应用程序安装在哪里?

0 投票
1 回答
1533 浏览

android - Android for Work ANDROID_ID 返回 NULL

我正在使用以下代码来获取设备 ID:

根据此处的文档,ANDROID_ID 值对每个用户都是唯一的。我发现当我在托管配置文件下测试我的应用程序(使用 BasicManagedProfile 示例)时,上述字符串“androidID”为空。

我假设 Android for Work 是基于多用户实现的。为什么 ANDROID_ID 值在这里为 NULL?

编辑:有没有其他方法可以从工作资料中获取设备 ID?

0 投票
2 回答
1858 浏览

angularjs - 尝试添加 ngCordova 日历插件后,Ionic Build Android 命令失败并出现异常

我在 ubuntu 中工作 ionic(1.7.15)。

在我尝试实现日历插件之前,我的项目运行良好。将此插件安装到我的项目后,我尝试使用ionic build android命令进行构建,但出现以下错误。

在此处输入图像描述

我希望由于我的项目中的多个插件而发生上述错误是否有任何解决方案。我发现这个错误与multidex这里有关。

我试过的:

我已经尝试升级我的 android SDK。

使用此堆栈溢出问题无法解决配置“:_armv7DebugCompile”的所有依赖项,我已经完成了所有操作,之后我收到了上述错误。

这是我的 package.json 文件

这是我的 fetch.json 文件

我不知道出了什么问题,请任何人帮助我。

0 投票
1 回答
4984 浏览

android - SecurityException: get application info: Neither user 1010069 nor current process has android.permission.INTERACT_ACROSS_USERS

I'm getting this weird crash. It seems like AlarmManager.set() cause this but I don't understand how nor why.

Stack trace:

The code:

I don't want to the add this permission.

How can this be caused/reproduced?

0 投票
0 回答
1208 浏览

android - 模拟器中的 Android 7.1.1 多用户支持

我试图在 Ubuntu 16.04 64 位上为我的 Android 7.1.1 AOSP模拟器获得多用户支持。构建运行lunch aosp_x86-eng并跟随模拟器运行emulator64-x86

我尝试了这个解决方案但没有成功:

当我擦拭状态栏时,图标第一次可见,但在释放它时消失:

截图模拟器

和这里一样:

我也尝试通过 adb 添加用户但没有成功。执行命令后,我使用以下命令对其进行测试:

结果是:

是否有障碍或类似的东西?还是我需要编辑构建?如果我需要root系统,为什么属性设置为4个用户?为什么第一次擦拭时显示的图标在释放后消失?

谢谢!

0 投票
2 回答
309 浏览

java - 许多用户使用 SharedPreferences 登录

如何创建具有共享首选项的多会话,以便两个用户可以在同一个会话中登录和注销?

我有以下代码。

我正在使用安卓工作室。

0 投票
0 回答
939 浏览

android - Google In-App Purchase 如何设置计费帐户 [截至 2017 年 5 月 26 日不可行]

背景故事

我正在尝试为订阅实现 Android 的应用内计费。令人惊讶的是,它进行得相对顺利,但我碰壁了。我想要做的是有多个可能的登录名(使用谷歌的标准东西,现在都可以。

这是我的问题:

所以当我登录我的应用程序时,我会看到这个熟悉的屏幕。

如果我选择账户 B,账户 B 登录,我检查令牌,一切正常。
现在,我希望账户 B 获得订阅。

在这一点上有两件事,订阅金额是错误的,但我正在使用 Google Play 服务解决这个问题。我担心的问题是它谈论的是 Google Play 余额,而我知道帐户 B 没有。所以我点击下拉箭头,你瞧……它正试图向账户 A 收费。

所以我的问题是这个。

在我的流程(改编自 SDK 中的 Trivial Drive 示例的标准流程)中,我在哪里以及如何添加代码以使其使用我刚刚登录的帐户而不是其他帐户?

我没有看到任何可以传递令牌或 ID 的点,这对我没有任何帮助。如何做到这一点?

**更新 2017 年 5 月 26 日,01:10 **

Google 不支持选择帐户。这是我从他们的支持团队那里听到的:

在购买应用内商品时,您无法从多个 Google 帐户中进行选择,并且您只能使用安装了该应用程序的帐户进行支付,这是按预期工作的。

假设一台设备有两个账号,账号A和账号B,账号A已经安装了应用。当您以B身份登录设备时,您仍然可以打开应用程序,但当您尝试进行应用内商品购买时,只能通过账户A完成支付。(在Play商店支付窗口中,账户A是默认选中,无法更改。)

所以现在,我们只需要一个帐户。我必须重新设计我的流程并向人们解释这不是谷歌的方式。