Перейти к содержанию
Fire Monkey от А до Я

Tovenar

Пользователи
  • Постов

    2
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Tovenar

  1. Как правильно отправлять файлы через ACTION_SEND. То что пробовал и не смог заставить работать:

    uses System.IOUtils, FMX.Helpers.Android,Androidapi.JNI.JavaTypes, Androidapi.Helpers, Androidapi.JNI.GraphicsContentViewText;     
    procedure TMain.SendFileClick(Sender: TObject);    
    var      
    Intent: JIntent;    
    begin      
    Intent := TJIntent.Create;      
    Intent.setAction(TJIntent.JavaClass.ACTION_SEND);      
    Intent.setDataAndType(StrToJURI('file:' + TPath.Combine(TPath.GetSharedDownloadsPath, 'picture.png')), StringToJString ('image/png'));      
    SharedActivity.startActivity(Intent);    
    end;

    или

    var
    Intent: JIntent;
    begin
    Intent := TJIntent.Create;
    Intent.setAction(TJIntent.JavaClass.ACTION_SEND);
    Intent.setType(StringToJString('image/png'));
    Intent.putExtra(TJIntent.JavaClass.EXTRA_STREAM , StringToJString('file:mnt/sdcard/pictures/1.png'));
    SharedActivity.startActivity(Intent);

    При чем с открытием(ACTION_VIEW) все в порядке:

    var
      FileName, ExtFile: string;
      mime: JMimeTypeMap;
      ExtToMime: JString;
      Intent: JIntent;
      pathN:string;
    begin
        FileName := Item.ItemData.Detail;
        try
          ExtFile := AnsiLowerCase(StringReplace(TPath.GetExtension(FileName), '.', '',[]));
          mime := TJMimeTypeMap.JavaClass.getSingleton();
          ExtToMime := mime.getMimeTypeFromExtension(StringToJString(ExtFile));
    
    
          Intent := TJIntent.Create;
          Intent.setAction(TJIntent.JavaClass.ACTION_VIEW);
          Intent.setDataAndType(StrToJURI('file:' + FileName), ExtToMime);
          SharedActivity.startActivity(Intent);
        except
          ShowMessage('Невозможно открыть файл!');
        end
    
    end;

    Хоть в моих примерах я и пытаюсь передать изображение (я в курсе, что в ActionList есть стандартное действие для отправки изображений), в итоге код будет использоваться для файлов любого типа. 

    Как победить?

  2. Добрый день,

     

    На мобильных платформах Drag/Drop не реализован.

    За его реализацию отвечает сервис IFMXDragDropService. Если вы его реализуете для мобильных платформ, то Drag and Drop будет работать.

    Будет ли написан гайд? Как где-то видел описание использование сервиса  для  виртуальной клавиатуры.

×
×
  • Создать...