Может ли приложение AIR узнать, на какой ОС оно работает? - PullRequest
1 голос
/ 08 января 2010

Мне было интересно, может ли приложение AIR узнать, в какой ОС оно работает, например, Windows XP, Vista, Mac OS и т. Д. Кроме того, есть ли способ узнать текущее имя пользователя ОС? Спасибо.

Ответы [ 2 ]

4 голосов
/ 09 января 2010

Как сказано в @TML, System.Capabilities.os даст вам операционную систему. Сейчас я не знаю ни одного прямого способа получить имя пользователя, но класс файлов AIR имеет свойство userDirectory, которое даст вам ссылку на домашний каталог пользователя, вошедшего в систему. Для nativePath этого объекта должно быть зарегистрировано имя пользователя.

//user directory path normally ends with the user name like
//xp   : C:\Documents and Settings\userName
//mac  : /Users/userName
//*nix : /home/username or /home/groupname/username

var os:String = System.Capabilities.os;
var usr:String = File.userDirectory.nativePath;
var sep:String = File.separator;
if(usr.charAt(usr.length - 1) == sep)
  usr = usr.substring(0, usr.length - 1);//remove trailing slash
usr = usr.substring(usr.lastIndexOf(sep) + 1);
trace(usr);

Протестируйте с различными ОС и выясните, есть ли какие-либо крайние случаи, прежде чем использовать это в рабочем коде (например, случаи, когда имя пользователя не является последней частью пользовательского каталога - я не знаю ни о каких, но на всякий случай).

2 голосов
/ 08 января 2010

Проверьте во flash.system.Capabilities - я считаю, что он имеет то, что вы ищете.

На самом деле оказывается, что это дублирующий вопрос: Получить текущую операционную систему в Adobe Air

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...