자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi 만든 앱에서 블루투스 설정을 하면 종료가 되는데요. 왜 그럴까요?
2019.03.02 13:01
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
외부라서 소스는 후에 올리겠습니다,
제목처럼 어떤 기기에서는 블루투스 설정을 하면 앱이 종료됩니다.
원래는 4개 설정해서 잘되던거였는데
안드로이드 폰 장치설정에 블루투스 장치를 해제했다 설치했다를 반복하다 보니
이제는 앱에서 설정할려고 하면 앱이 종료됩니다.
왜그럴까요?
댓글 2
-
화이부동
2019.03.05 17:23
-
silkroad99
2019.03.07 10:51
샘플 소스코드에서는 위치권한 설정부분만 있네요
1. DELPHI IDE 툴에서 블루투스 권한 설정을 해 주셔야 합니다.
PROJECT - OPTION - USES PERMISSIONS - 블루투스 권한 사용설정
2. 안드로이드
{$IFDEF ANDROID}
PermissionsService.RequestPermissions([JStringToString(TJManifest_permission.JavaClass.BLUETOOTH)],
procedure(const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>)
begin
if (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) then
begin
{Device Bluetooth }
end
else
begin
TDialogService.ShowMessage('Device Bluetooth not granted');
end;
end)
{$ENDIF}
즐거운 하루 되세요
Delphi 만든 앱에서 블루투스 설정을 하면 종료가 되는데요. 왜 그럴까요?
2019.03.02 13:01
본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
외부라서 소스는 후에 올리겠습니다,
제목처럼 어떤 기기에서는 블루투스 설정을 하면 앱이 종료됩니다.
원래는 4개 설정해서 잘되던거였는데
안드로이드 폰 장치설정에 블루투스 장치를 해제했다 설치했다를 반복하다 보니
이제는 앱에서 설정할려고 하면 앱이 종료됩니다.
왜그럴까요?
댓글 2
-
화이부동
2019.03.05 17:23
-
silkroad99
2019.03.07 10:51
샘플 소스코드에서는 위치권한 설정부분만 있네요
1. DELPHI IDE 툴에서 블루투스 권한 설정을 해 주셔야 합니다.
PROJECT - OPTION - USES PERMISSIONS - 블루투스 권한 사용설정
2. 안드로이드
{$IFDEF ANDROID}
PermissionsService.RequestPermissions([JStringToString(TJManifest_permission.JavaClass.BLUETOOTH)],
procedure(const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>)
begin
if (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) then
begin
{Device Bluetooth }
end
else
begin
TDialogService.ShowMessage('Device Bluetooth not granted');
end;
end)
{$ENDIF}
즐거운 하루 되세요
소스를 동봉합니다.
이 소스에 무언가 문제가 있을 것 같긴 한데요.
살펴주세요.
procedure Tmain_form.cb_21Click(Sender: TObject);
var
i: integer;
begin
cb_21.Clear;
tb212.Text := 'Scanning...';
BluetoothLE1.DiscoverDevices(2000, [HRSERVICE]);
{$IFDEF ANDROID}
FLocationPermission1 := JStringToString(TJManifest_permission.JavaClass.ACCESS_COARSE_LOCATION);
{$ENDIF}
PermissionsService.RequestPermissions([FLocationPermission1],
procedure (const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>)
begin
if (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) then
BluetoothLE1.DiscoverDevices(TIME_Discover)
else
TDialogService.ShowMessage('블루투스 권한이 할당되지 않았습니다');
end,
procedure (const APermissions: TArray<string>; const APostRationaleProc: TProc)
begin
TDialogService.ShowMessage('블루투스 사용을 권한이 필요합니다',
procedure(const AResult: TModalResult)
begin
APostRationaleProc;
end)
end
); //PermissionsService.RequestPermissions
end;