Thanks for the clarification. I will plan to use both ShowAlert and a notification.
I have already imported the modified Notification Style (see in my blocks the calls to Has/Ask permission blocks)
Thanks again for the interaction/help.
Kind regards,
Randal
[20240125 edit]
I tried the DataMinder_toastCase test app on a Pixel running Android 12 and the toast worked! but the Notifier1.ShowAlert did not So, I think I will start out with all three mechanisms, emphasize the NotificationStyle notification, but also include the ShowAlert and toast. I can allow the user to select the methods which work on his device and disable the others.
I have just tracked down one of my programming errors which turned out to be the use of a built in Color component block where a hexadecimal number for a color was expected in a block that was being executed by an the event registered by:
This error of mine became obvious when I executed the same (or similar) block from the foreground portion of the app - it was clearly reported by the system when it occurred.
My question is: Is it possible to gain insight into such errors when executed in the background?
Could the Screen1.ErrorOccurred event be made to fire? Possibly by registering it with itoo1.RegisterEvent?
How about the error log? Could anything be written to the error log and viewed by "adb.exe logcat"?
Is there some way to connect (AI Companion, Emulator, USB) and debug such an app? My app foreground process closes immediately after it creates the background task. If I kept it running would background errors such as this be reported to the UI?
I'll possibly work on a better feature to report errors, (after two months, my exams get over).
The only way to debug right now is to check the logcat.
Itoo does not support companion debugging, even if it is someway implemented to mimic the functionality, we cannot afford its code maintainability.
So there is some kind of error happening... Did you try to use ADB to check for the error logcat? If you are able to capture it through ADB, you can send it personally to me. Most of the times errors happen when components are not initialzed or set properly...
Thank you for addressing my general and specific question.
That would seem to be a very useful enhancement. After a while, since users could see their own errors displayed, you might recover your time spent developing the capability because you would get fewer questions about problems we might be having
Yes, I did. But I never was able to locate anything in the log. If you think it should have been there, then I can re-run the buggy version and try again.
Do you have any suggestions as to "adb.exe logcat" options that might eliminate entries that would not be of interest? perhaps piping to "grep XXXX".
As I mentioned, I found the error after I ran the same type buggy blocks (I had used a color when a hex number for a color was required.) in a foreground portion of the app - the error was reported to the phone screen.
I will see if I can build a small test case that exemplifies the error and then see if I can locate the error using logcat. This would be good practice for locating future bugs.
Great extension with it any application made with app inventor can work in the background.
I see that there is doubt about how the extension works, I am attaching two aia files, which can help you understand how it works.
One is a step counting app that works in the background, so it will always count your steps.
Another is an Alarm manager
Both work correctly, although as usually happens, the battery mode must be set to "No restrictions" for them to work correctly on lame Xiaomi or Samsung phones.
two requests to the developer
First, the notification can be interacted within the service to change the title and subtitle and when you click on it, the activity opens with the NEW_TASK flag.
Another option is to create a kind of static procedure in the main activity that can be used in the service, so that the number of blocks can be removed from it.
WOW I LOVE IT!!! That's incredible what you have done with Itoo, especially the Pedometer one, can you please publish them as a guide (a new topic) so that it could help others?
Can you tell us where does the block "IbpAllAlarms.HexToColor" come from? Also you are passing a color to a block when it expects hexadecimal value (something like #845EC2)... So the error is obvious...
I'm glad you like the .aia files, I'll get back to the tutorials and I'll publish them as a separate thread as you tell me.
You like the pedometer but I think the Alarm one is more complete, because the same service opens or closes automatically, whether or not it has pending alarms.
As for my second request, like you I program some extensions (the notification that I use in the .aia is an extension that I am creating pending perfection) and you know that procedures can be shared between the main activity (or main class) and the service if these procedures are static
As you see I am using a procedure created in the main class in the service.
I think it would be interesting to implement something similar to this in your extension since it would help the blocks within the service not be so extensive.
Oh, so basically you want reverse of what the extension does? Like do you want to be able to call application's procedures from a background service? Also, it's better if we continue the discussion through PM.
Greetings, dear Kumaraswamy!
I wrote in this topic an application on your extension for remote temperature measurement: BLE_WEATHER_V1.2.aia
Now the task is to register coordinates in the background based on LocationSensor.
But, the sensor hides when the application is minimized, although this does not happen in Google Maps!
You once wrote that some sensors are blocked in the background. But there are a lot of videos on the Internet about implementing background tracking. They talk about using Java. So is this possible?
Can you add this feature to your extension?
So far I have limited myself only to the ability to reduce the screen brightness to a minimum and disable all on-screen buttons and the map...
Best regards!
I have planned to integrate Itoo functionality into the locationservice extension, this then enables us to execute almost any task in the background using Itoo (however no user interface components).
In case you are interested in sponsoring the update and get access to the beta version to test, please send me a PM... How to send a PM (personal message)
In earlier efforts I had used the hex color value to adjust a color to match a certain background on the phone I was using. When I "reused" the code I wrongly substituted a color block for the hex value
Thank you for your help. For me, it was doubly helpful since I was forced to learn how to locate System errors in logcat output