소스 검색

minior tweak

KngStr 5 년 전
부모
커밋
c39fe63b72
1개의 변경된 파일8개의 추가작업 그리고 5개의 파일을 삭제
  1. 8 5
      ksAndroid.Helpers.pas

+ 8 - 5
ksAndroid.Helpers.pas

@@ -226,9 +226,14 @@ begin
 end;
 
 class function TAndroidHelperEx.HasAssocApp(const Intent: JIntent): Boolean;
+var
+  LList: JList;
 begin
-  Result :=  Activity.getPackageManager.queryIntentActivities(Intent,
-    TJPackageManager.JavaClass.MATCH_DEFAULT_ONLY).size > 0;
+  // Android 6+ APP LINK closed Will cause list is null.
+  // Activity with <action android:name="android.intent.action.VIEW" />
+  LList := Activity.getPackageManager.queryIntentActivities(Intent,
+    TJPackageManager.JavaClass.MATCH_DEFAULT_ONLY);
+  Result := (LList <> nil) and (LList.size > 0);
 end;
 
 class function TAndroidHelperEx.HasAssocApp(const URI: string): Boolean;
@@ -319,9 +324,7 @@ end;
 class function TAndroidHelperEx.StartActivity(Intent: JIntent; const Code: Integer): Boolean;
 begin
   Result := False;
-  //Checks if there is at least one application capable of receiving the intent.
-  if Activity.getPackageManager.queryIntentActivities(Intent,
-      TJPackageManager.JavaClass.MATCH_DEFAULT_ONLY).size > 0 then begin
+  if HasAssocApp(Intent) then begin
     if Code = -1 then
       Activity.startActivity(Intent)
     else