Класс AccountPicker
находится в пространстве имен Android.Gms.Common
и доступен через пакет nuget Xamarin.GooglePlayServices.Basement
:
Примечание. Обычно Basement
устанавливается как зависимость одного из других [ 116] пакетов (Карты / Места / Задачи / ...), но вы можете установить его, и он добавит все Xamarin.Android.Support. * Зависимость ...
re: https://www.nuget.org/packages/Xamarin.GooglePlayServices.Basement
Пример; запросить учетную запись:
~~~
var intent = Android.Gms.Common.AccountPicker.NewChooseAccountIntent(null, null, new String[] { "com.google" }, false, null, null, null, null);
StartActivityForResult(intent, 99);
~~~
Получить учетную запись:
protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
{
if (requestCode == 99 && resultCode == Result.Ok)
{
var accountName = data.GetStringExtra(AccountManager.KeyAccountName);
Log.Debug("SO", accountName);
}
}
Я столкнулся с той же проблемой. Проблема в том, что стек JAX-WS управляет файлом. В вашем коде невозможно определить, когда JAX-WS завершил работу с файлом, поэтому вы не знаете, когда его удалить.
В моем случае я использую DataHandler в своей объектной модели, а не в файле. MyFileResult будет иметь следующее поле вместо поля файла:
private DataHandler handler;
Мое решение состояло в том, чтобы создать настроенную версию FileDataSource. Вместо того, чтобы возвращать FileInputStream для чтения содержимого файла, я возвращаю следующее расширение FileInputStream:
private class TemporaryFileInputStream extends FileInputStream {
public TemporaryFileInputStream(File file) throws FileNotFoundException {
super(file);
}
@Override
public void close() throws IOException {
super.close();
file.delete();
}
}
По сути, источник данных позволяет читать только один раз. После закрытия потока файл удаляется. Поскольку стек JAX-WS считывает файл только один раз, он работает.
Решение - своего рода взлом, но в данном случае кажется лучшим вариантом.
Проблема в том, что стек JAX-WS управляет файлом. В вашем коде невозможно определить, когда JAX-WS завершил работу с файлом, поэтому вы не знаете, когда его удалить.В моем случае я использую DataHandler в своей объектной модели, а не в файле. MyFileResult будет иметь следующее поле вместо поля файла:
private DataHandler handler;
Мое решение состояло в том, чтобы создать настроенную версию FileDataSource. Вместо того, чтобы возвращать FileInputStream для чтения содержимого файла, я возвращаю следующее расширение FileInputStream:
private class TemporaryFileInputStream extends FileInputStream {
public TemporaryFileInputStream(File file) throws FileNotFoundException {
super(file);
}
@Override
public void close() throws IOException {
super.close();
file.delete();
}
}
По сути, источник данных позволяет читать только один раз. После закрытия потока файл удаляется. Поскольку стек JAX-WS считывает файл только один раз, он работает.
Решение - своего рода взлом, но в данном случае кажется лучшим вариантом.
Проблема в том, что стек JAX-WS управляет файлом. В вашем коде невозможно определить, когда JAX-WS завершил работу с файлом, поэтому вы не знаете, когда его удалить.В моем случае я использую DataHandler в своей объектной модели, а не в файле. MyFileResult будет иметь следующее поле вместо поля файла:
private DataHandler handler;
Мое решение состояло в том, чтобы создать настроенную версию FileDataSource. Вместо того, чтобы возвращать FileInputStream для чтения содержимого файла, я возвращаю следующее расширение FileInputStream:
private class TemporaryFileInputStream extends FileInputStream {
public TemporaryFileInputStream(File file) throws FileNotFoundException {
super(file);
}
@Override
public void close() throws IOException {
super.close();
file.delete();
}
}
По сути, источник данных позволяет читать только один раз. После закрытия потока файл удаляется. Поскольку стек JAX-WS считывает файл только один раз, он работает.
Решение - своего рода взлом, но в данном случае кажется лучшим вариантом.
В вашем коде невозможно определить, когда JAX-WS завершил работу с файлом, поэтому вы не знаете, когда его удалить.В моем случае я использую DataHandler в своей объектной модели, а не в файле. MyFileResult будет иметь следующее поле вместо поля файла:
private DataHandler handler;
Мое решение состояло в том, чтобы создать настроенную версию FileDataSource. Вместо того, чтобы возвращать FileInputStream для чтения содержимого файла, я возвращаю следующее расширение FileInputStream:
private class TemporaryFileInputStream extends FileInputStream {
public TemporaryFileInputStream(File file) throws FileNotFoundException {
super(file);
}
@Override
public void close() throws IOException {
super.close();
file.delete();
}
}
По сути, источник данных позволяет читать только один раз. После закрытия потока файл удаляется. Поскольку стек JAX-WS считывает файл только один раз, он работает.
Решение - своего рода взлом, но в данном случае кажется лучшим вариантом.
В вашем коде невозможно определить, когда JAX-WS завершил работу с файлом, поэтому вы не знаете, когда его удалить.В моем случае я использую DataHandler в своей объектной модели, а не в файле. MyFileResult будет иметь следующее поле вместо поля файла:
private DataHandler handler;
Мое решение состояло в том, чтобы создать настроенную версию FileDataSource. Вместо того, чтобы возвращать FileInputStream для чтения содержимого файла, я возвращаю следующее расширение FileInputStream:
private class TemporaryFileInputStream extends FileInputStream {
public TemporaryFileInputStream(File file) throws FileNotFoundException {
super(file);
}
@Override
public void close() throws IOException {
super.close();
file.delete();
}
}
По сути, источник данных позволяет читать только один раз. После закрытия потока файл удаляется. Поскольку стек JAX-WS считывает файл только один раз, он работает.
Решение - своего рода взлом, но в данном случае кажется лучшим вариантом.
MyFileResult будет иметь следующее поле вместо поля файла:private DataHandler handler;
Мое решение состояло в том, чтобы создать настроенную версию FileDataSource. Вместо того, чтобы возвращать FileInputStream для чтения содержимого файла, я возвращаю следующее расширение FileInputStream:
private class TemporaryFileInputStream extends FileInputStream {
public TemporaryFileInputStream(File file) throws FileNotFoundException {
super(file);
}
@Override
public void close() throws IOException {
super.close();
file.delete();
}
}
По сути, источник данных позволяет читать только один раз. После закрытия потока файл удаляется. Поскольку стек JAX-WS считывает файл только один раз, он работает.
Решение - своего рода взлом, но в данном случае кажется лучшим вариантом.
MyFileResult будет иметь следующее поле вместо поля файла:private DataHandler handler;
Мое решение состояло в том, чтобы создать настроенную версию FileDataSource. Вместо того, чтобы возвращать FileInputStream для чтения содержимого файла, я возвращаю следующее расширение FileInputStream:
private class TemporaryFileInputStream extends FileInputStream {
public TemporaryFileInputStream(File file) throws FileNotFoundException {
super(file);
}
@Override
public void close() throws IOException {
super.close();
file.delete();
}
}
По сути, источник данных позволяет читать только один раз. После закрытия потока файл удаляется. Поскольку стек JAX-WS считывает файл только один раз, он работает.
Решение - своего рода взлом, но в данном случае кажется лучшим вариантом.
После закрытия потока файл удаляется. Поскольку стек JAX-WS считывает файл только один раз, он работает.Решение - своего рода взлом, но в данном случае кажется лучшим вариантом.
После закрытия потока файл удаляется. Поскольку стек JAX-WS считывает файл только один раз, он работает.Решение - своего рода взлом, но в данном случае кажется лучшим вариантом.
Вы используете стандартные файлы временного файла Java? Если так, можно сделать это:
File script = File.createTempFile("temp", ".tmp", new File("./"));
... use the file ...
script.delete(); // delete when done.
папка работы, которую Вы настраиваете в контексте для этого веб-приложения, о котором Вы говорите. Можно ли установить этот рабочий каталог в известном каталоге? Если да, то можно найти временный файл в рамках каталога временной работы (что Вы знаете). После того как Вы находите, можно удалить его.