Jump to content

Dave Nottage

Members
  • Content Count

    1546
  • Joined

  • Last visited

  • Days Won

    36

Everything posted by Dave Nottage

  1. Dave Nottage

    Change a forms OnShow Event?

    Hard to tell with no code to go by. Regardless, one thing you could do is add a property to the form (e.g. a Boolean) to indicate what it should do when OnShow is called, use an if statement to determine which code is executed, and set the property before ShowModal is called
  2. Dave Nottage

    AdMob in Delphi11

    Good to hear, and sorry.. yes - play-services-base18.1.0-Manifest.merge.xml which is generated by the Add Android Package function in Codex is no longer needed, so you could just delete that.
  3. Dave Nottage

    AdMob in Delphi11

    You can ignore this message. No, it is not correct. The file should not be deleted as it contains code necessary for the application to work. These are the relevant lines from the log: 2025/01/26 18:01:17.006 E com.embarcadero.AdTestD12 13280 13708 AndroidRuntime FATAL EXCEPTION: Thread-3 2025/01/26 18:01:17.006 E com.embarcadero.AdTestD12 13280 13708 AndroidRuntime Process: com.embarcadero.AdTestD12, PID: 13280 2025/01/26 18:01:17.006 E com.embarcadero.AdTestD12 13280 13708 AndroidRuntime java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/R$string; 2025/01/26 18:01:17.006 E com.embarcadero.AdTestD12 13280 13708 AndroidRuntime at com.google.android.gms.measurement.internal.zzga.zza(com.google.android.gms:play-services-measurement-base@@20.1.2:1) 2025/01/26 18:01:17.006 E com.embarcadero.AdTestD12 13280 13708 AndroidRuntime at com.google.android.gms.internal.measurement.zzee.<init>(com.google.android.gms:play-services-measurement-sdk-api@@20.1.2:8) 2025/01/26 18:01:17.006 E com.embarcadero.AdTestD12 13280 13708 AndroidRuntime at com.google.android.gms.internal.measurement.zzee.zzg(com.google.android.gms:play-services-measurement-sdk-api@@20.1.2:2) 2025/01/26 18:01:17.006 E com.embarcadero.AdTestD12 13280 13708 AndroidRuntime at com.google.android.gms.measurement.api.AppMeasurementSdk.getInstance(com.google.android.gms:play-services-measurement-sdk-api@@20.1.2:3) 2025/01/26 18:01:17.006 E com.embarcadero.AdTestD12 13280 13708 AndroidRuntime at com.google.android.gms.internal.ads.zzbnq.run(com.google.android.gms:play-services-ads-lite@@22.2.0:10) 2025/01/26 18:01:17.006 E com.embarcadero.AdTestD12 13280 13708 AndroidRuntime at java.lang.Thread.run(Thread.java:923) 2025/01/26 18:01:17.006 E com.embarcadero.AdTestD12 13280 13708 AndroidRuntime Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.R$string" on path: DexPathList[[zip file "/data/app/~~Pts3t76XeBO1SwYlnYkkgg==/com.embarcadero.AdTestD12-tDvQz1HYX23fQ4WpUJMxbw==/base.apk"],nativeLibraryDirectories=[/data/app/~~Pts3t76XeBO1SwYlnYkkgg==/com.embarcadero.AdTestD12-tDvQz1HYX23fQ4WpUJMxbw==/lib/arm, /data/app/~~Pts3t76XeBO1SwYlnYkkgg==/com.embarcadero.AdTestD12-tDvQz1HYX23fQ4WpUJMxbw==/base.apk!/lib/armeabi-v7a, /system/lib, /system/system_ext/lib]] The error is occurring because you removed ADTestD12.R.jar from the project. It seems you did not carefully read the instructions from the demo.
  4. Dave Nottage

    Open media file denied

    Please provide a complete, reproducible example.
  5. Dave Nottage

    AdMob in Delphi11

    Is there an error message? If not, please use a log viewer to check if the system is generating any error messages.
  6. Dave Nottage

    Android SDK versions for Android-32 bit

    It may be due to the version of Android on it, rather than the model. Having said that: where does signin-with-google-1.0.jar come from?
  7. Dave Nottage

    Android SDK versions for Android-32 bit

    I'm curious as to why you have not mentioned what .jar files you are adding?
  8. Dave Nottage

    iOS TLocationSensor crash

    Still no crash. In future, please describe what is in your app when you first ask the question. Please provide a complete, reproducible example, i.e. just enough to reproduce the crash.
  9. Dave Nottage

    iOS TLocationSensor crash

    I'm not having that issue, using the same SDK etc as you. I created a basic app with just a TLocationSensor and a TButton, and set Active to True when clicking the button. Works OK even if no internet connection.
  10. Dave Nottage

    In App Purchase (consumable and subscription)

    As far as I can tell, subscriptions are yet to be supported on iOS, even in 12.2. You may be interested in this article (regarding iOS) - it was written in the Delphi 10.4 era, however the same principles may still apply.
  11. Dave Nottage

    Reading and changing capabilities of Android Camera2 API

    I came across this post whilst looking for something else, and... ..actually, there is a way of achieving this using Delphi code. The following will convert the JObject reference (Obj in your case) to an integer array: function JObjectToIntArray(const AObject: JObject): TArray<Integer>; var LJNIArray: JNIArray; LJNIEnv: PJNIEnv; begin LJNIArray := TJNIResolver.JavaInstanceToID(AObject); SetLength(Result, TJNIResolver.GetArrayLength(LJNIArray)); if Length(Result) > 0 then begin LJNIEnv := TJNIResolver.GetJNIEnv; LJNIEnv^.GetIntArrayRegion(LJNIEnv, LJNIArray, 0, Length(Result), PJNIInt(Result)); TJNIResolver.ExceptionCheck; end; end; For Range<Integer>: var LRange: JRange; LLower, LUpper: Integer; LRange := TJRange.Wrap(Obj); LLower := TJInteger.Wrap(LRange.getLower).intValue; LUpper := TJInteger.Wrap(LRange.getUpper).intValue; It's in Androidapi.JNI.Util. To convert the JObject reference, simply Wrap it: var LRational: JRational; LRational := TJRational.Wrap(Obj);
  12. Dave Nottage

    Delphi FMX SMS Receiver Unable to Retrieve PDU Content

    Probably because that will not work. This should: uses System.TypInfo, Androidapi.JNIBridge; var Obj: JObject; ... Obj := Bundle.get(StringToJString('pdus'); PDUs := TJavaObjectArray<JObject>(WrapJNIArray((Obj as ILocalObject).GetObjectID, TypeInfo(TJavaObjectArray<JObject>))); If there were a complete example, I might be able to test it. Note that you should free PDUs after you are done with it (same for PDU in the other part of your code), as TJavaArray and TJavaObjectArray types are Delphi objects.
  13. Dave Nottage

    Enable Discussions on github ?

    What would you discuss? If you're looking to report an issue, or request an enhancement, use the issues page.
  14. Dave Nottage

    Using Camera in Android 9 under Delphi 12.1 CE

    Without the log messages, or a complete, reproducible example, it's going to be hard to tell.
  15. Dave Nottage

    I cannot get permission for vibrate

    That's only for "dangerous" permissions. It would help to read the entire page I linked to, so you know the difference.
  16. Dave Nottage

    Using Camera in Android 9 under Delphi 12.1 CE

    Have you tried viewing the log messages as per my last reply?
  17. Dave Nottage

    I cannot get permission for vibrate

    When making what? As I said, you do not need to request permission at runtime, just execute the code that does the vibration. If that code is not working, please show your code.
  18. Dave Nottage

    I cannot get permission for vibrate

    You do not need to request the VIBRATE permission at runtime. Just enable it in the Uses Permissions section of the Project Options.
  19. Dave Nottage

    Using Camera in Android 9 under Delphi 12.1 CE

    That's "official" support. Theoretically, Delphi 12 can be used to create apps that run on Android 5 or later. Does the camera not appear at all, or is it once you've taken a photo? If the latter, you should show your code for TakePhotoDidFinishTaking. A complete test case would be even better Just because there's a lot of messages, it does not mean it is not useful. Use filtering to see only relevant messages. This link might help.
  20. Dave Nottage

    Compile&Run cmd for Android

    For .\assets\internal\ on Android, this is incorrect. If a file exists, it will not be overwritten, regardless of whether or not the file is newer.
  21. Dave Nottage

    Compile&Run cmd for Android

    By default? No, it does not. Check that your project does not have the -cleaninstall parameter as per the documentation.
  22. Dave Nottage

    Unable to receive push notification on iOS with FCM

    "Sometimes" seems a bit odd. More than likely you do not have an APNs Key configured in Firebase Console. In the (poorly written) article you linked to, it mentions this at this point: "In the settings section you have to upload the APN certificate that you previously generated on the apple portal in the “Keys” section"
  23. Dave Nottage

    Slow response on TButton click

    You mentioned it later, though:
  24. Dave Nottage

    Start application in system tray

    Two problems: You have - Application.MainFormOnTaskbar := False; Instead of - Application.ShowMainForm := False; ..and you have not assigned anything to the Icon property in the TTrayIcon component, which means it shows as a blank area, rather than a visible icon
  25. That's a separate issue. What device is it? Sadly, this is out of date. The Android SDK Manager will not "open", as per my earlier message (i.e. the UI no longer ships with the SDK) If you install the SDK/NDK via the Manage Features section of the Delphi IDE, you should not need to use it anyway. There are alternatives to installing platform levels and build tools in the SDK, such as via the command line.
×