Ich habe damit auch noch nicht viel gemacht.
Rechte prüfen/erlangen
Code: Alles auswählen
procedure TAndroidModule1.AndroidModule1JNIPrompt(Sender: TObject);
begin
if not IsRuntimePermissionGranted('android.permission.CAMERA') then
Self.RequestRuntimePermission('android.permission.CAMERA',1001);
if not IsRuntimePermissionGranted('android.permission.WRITE_EXTERNAL_STORAGE') then
Self.RequestRuntimePermission('android.permission.WRITE_EXTERNAL_STORAGE',1002);
end;
Bild holen
Code: Alles auswählen
procedure TAndroidModule1.jButton3Click(Sender: TObject);
begin
if IsRuntimePermissionGranted('android.permission.CAMERA') and
IsRuntimePermissionGranted('android.permission.WRITE_EXTERNAL_STORAGE') then
begin
jCamera1.RequestCode := 12345;
jCamera1.TakePhoto;
end
else
ShowMessage('Sorry... Some Runtime Permission NOT Granted ...');
end;
procedure TAndroidModule1.AndroidModule1ActivityResult(Sender: TObject;
requestCode: integer; resultCode: TAndroidResult; intentData: jObject);
begin
if resultCode = RESULT_OK then //ok...
begin
if requestCode = jCamera1.RequestCode then
begin
Anlagen.Add(jCamera1.FullPathToBitmapFile);
end;
end
end;
Anlagen ist eine TStringlist.
Das sind nur ein paar Schnipsel. Tatsächlich wird ein Barcode im Livebild erkannt.
Dann wird der gelesene Barcode über ein Get auf einer https Adresse gecheckt.
Bei positivem Check geht eine Maske auf und man kann weitere Bilder anhängen und Text eingeben.
Das ganze kann dann als Email versendet werden an eine Helpdesk Emailadresse. Dort wird die Email in ein Ticket gewandelt.
Ist ganz anders als dein Vorhaben, weswegen ich auch nur mal ein paar Codeschnipsel veröffentlicht habe.
Falls du Interesse am vollständigen Code hast, müsste ich erst ein paar Zeilen schwärzen und dir es auf deine Email schicken.
Mein Sohn ist Anwendungsprogrammierer ( Master) bei einer großen Firma, welche mit Lokomotiven herumfahren
der lacht sich eh immer kaputt, wenn ich mit Lazarus und Android komme. Tatsächlich frage ich oft bei ihm nach: "...wie machst du das in deinem Code...", um an die nötigen Infos zur Android Programmierung zu kommen, wie z.B. an dieser Stelle:
if not IsRuntimePermissionGranted('android.permission.CAMERA') then
Self.RequestRuntimePermission('android.permission.CAMERA',1001);
Lazarus und Android ist für mich ok, aber da sehe ich mich schon im Dinosaurier Modus
Ich habe seit einiger Zeit eine LAZ 2.0.6 FPC 3.0.4 Installation mit lamw, welche funktioniert.