-
Content Count
1607 -
Joined
-
Last visited
-
Days Won
36
Everything posted by Dave Nottage
-
That's only for "dangerous" permissions. It would help to read the entire page I linked to, so you know the difference.
-
Using Camera in Android 9 under Delphi 12.1 CE
Dave Nottage replied to Peter J.'s topic in Cross-platform
Have you tried viewing the log messages as per my last reply? -
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.
-
You do not need to request the VIBRATE permission at runtime. Just enable it in the Uses Permissions section of the Project Options.
-
Using Camera in Android 9 under Delphi 12.1 CE
Dave Nottage replied to Peter J.'s topic in Cross-platform
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. -
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.
-
By default? No, it does not. Check that your project does not have the -cleaninstall parameter as per the documentation.
-
"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"
-
You mentioned it later, though:
-
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
-
Delphi 12.0 Athens is not correctly installing the Android SDK
Dave Nottage replied to scamp's topic in Cross-platform
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. -
Please show your code. Also remember that the Visible property on TTrayIcon needs to be set to True
-
Yes.. use a TTrayIcon component and set Application.ShowMainForm to False
-
Delphi 12.0 Athens is not correctly installing the Android SDK
Dave Nottage replied to scamp's topic in Cross-platform
From the Android SDK? Android have not shipped the SDK Manager UI with the SDK for some time now. If you mean from Delphi, what do you see when you go to Tools | Options, Deployment > SDK Manager? -
You might have missed this part in my original answer: When using the default Delphi implementation, I expect the JSON will be missing the title and body members.
-
Delphi 12.0 Athens is not correctly installing the Android SDK
Dave Nottage replied to scamp's topic in Cross-platform
The original installer is broken. If the PC does not have a compatible JDK already installed, it fails to install the SDK and NDK. This has been fixed somewhere between 11.3 and 12.2. The remedy with the "broken" versions is to install the JDK first, with no SDK/NDK, then use Tools | Manage Features to install the SDK/NDK, or install the compatible JDK even before installing Delphi. -
From the example message payload, this is the JSON from the DataObject in StartupNotifications: { "google.delivered_priority": "normal", "google.sent_time": "1735931915894", "google.ttl": "2419200", "google.original_priority": "normal", "google.product_id": "111881503", "body": "Example", "from": "\/topics\/FCMRebooted", "title": "Test", "com.google.firebase.iid.WakeLockHolder.wakefulintent": "true", "google.message_id": "0:1735931916503454%e6375accf9fd7ecd", "google.c.sender.id": "952580923416" }
-
I've tested the same project using Delphi 12.2, deploying to an emulator running Android 8.1 (which is what the Sunmi D2 Mini shipped with), and all respond with the same speed. Perhaps someone with a real device might be able to confirm?
-
There is on Android if you use the FCM implementation in Kastri, and send a "Data only" notification. By that, I mean the payload needs to look like this, for example: { "message":{ "topic":"FCMRebooted", "data":{ "title":"Test", "body":"Example" } } } Notice that there is no "notification" member. The same applies to when the application is running in the background. This will not work for the default implementation in Delphi, as it uses FCM's default handling for when the app is not running or in the background, which does not "look for" the data member.
-
Yes, however you might want to assess why you need to do this at all. On Android, it's possible to handle a notification in code while the app is not running by using a service, as per the "RelayDemo" in FCMRebooted, except that instead of sending an SMS, the code could store the notification info in a text file as you suggest. On iOS, it's a completely different story - handling notifications in code when the app is not running requires that the notification is "silent" (using a content-available flag in the payload), and even then the OS can be extremely restrictive as to whether it will even execute the code.
-
Error Could not find program, C:\bin\\java.exe
Dave Nottage replied to valdiralbertod@gmail.com's topic in FMX
Start by uninstalling that version of AdoptOpenJDK (v21) and installing the correct version (v8). There is a direct link to it in the article I mentioned, i.e. this download link. It's also possible that you have other JDKs installed which are causing interference. Check the system Path variable and remove any others from it. -
Sounds like there may be something wrong with the payload you are sending. You need to debug the SendPushNotificationNewVersion method to see what the value of LJSON is.
- 3 replies
-
- firebase
- push notifications
-
(and 1 more)
Tagged with:
-
You have not included the Execute method implementation in the example. Also, you do not show how SendPushNotificationNewVersion is being called.
- 3 replies
-
- firebase
- push notifications
-
(and 1 more)
Tagged with:
-
GPS and edgeBrowser
Dave Nottage replied to techdesk's topic in Algorithms, Data Structures and Class Design
Unless you use the Google Maps (JavaScript) API, I think you may need to live with the fact that the page "flashes". -
GPS and edgeBrowser
Dave Nottage replied to techdesk's topic in Algorithms, Data Structures and Class Design
It might help to show the code you're using to do this.