Open Source • Background Tasks: Itoo 🚀

Indeed I did!

Here are the blocks. The offending one its the passing of a built-in Color where a hexidecimal color number is expected (color Red)

logcat, soon after "##################", contained the following:

01-27 23:15:24.522 30979 30979 W System.err: java.lang.IllegalArgumentException: Unknown color

The logcat context is included below. (BackGndErr_dies-logcat.txt)

As I get more familiar with the format of these errors, I should be able to "grep" them out of logcat output.... Looks like a good first cut would be:

adb.exe logcat | grep "System.err"

I am a little surprised that it is only a "W" and not an "E" category, so that tells me to examine all entries, not just those of the Error category.

Thanks for your help!

Kind regards,
Randal

BackGndErr_dies-logcat.txt (3.9 KB)

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...

1 Like

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

For example

Main class

package es.mariosoft.PedometerService;

procedure

static String GetValue(String tag, String default) {
SharedPreferences settings = context.getSharedPreferences("MarioPedometer", Context.MODE_PRIVATE);
return settings.getString(tag, default);
}

Service

package es.mariosoft.PedometerService.Service;

@Override
public void onSensorChanged(SensorEvent event) {
goal = Integer.parseInt(PedometerService.GetValue("PedometerService.goal", "10000"));
weight = Integer.parseInt(PedometerService.GetValue("PedometerService.weight", "65"));
stepnotice = Integer.parseInt(PedometerService.GetValue("PedometerService.notice", "1000"));

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.

Un saludo

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!

Hi @Jerej, the location sensor is not supported in the background, this has to do with the missing manifest elements of the application.

In the newer versions of Android, directly querying location in background without special permission/access is not supported.


Itoo right now only supports what it can in the background, I do not plan to add any extra features into the extension meanwhile.

At the moment, Itoo is a pure implementation of only background processing capability.

For alternatives solution, you may explore these extensions:

Well! And thanks for that! I'll definitely check out the recommended apps!

1 Like

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)

Taifun

2 Likes

Yes, it is a rename of SimpleToast.HexToColor - [Free Open Source] my toast extension 3.0

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 :frowning:

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 :slight_smile:

Kind regards,
Randal

2 Likes

Help i cant get the variable text to clouddb.
I did try with save file also didnt save the text varisble

The Clock1.Timer event handler should be called timer without arguments to not get confused...
In there you read the file

And register additionally the File1.GotText event using the argument text
In there you use your Cloud db block

Taifun

I just remove and place the readfile blok to timer but still no data send

Still confuse
I just need to send file content to cloud in background

I did that but still no data send
I replace cloud db to save file for easier to check the data

I did this but the data only sending (saving) when the app is restarted

If you want to read the file on each Timer event, then you should read it in your event handler for the Timer event, which is your procedure lokal

Your path of your file method does not make sense... why are you using that path, which points to the companion app? You can test only after building the app anyway

And why did you change the example again? Your original plan was to store something in CloudDB?

Taifun

How often does the file content change?
You might want to elaborate, what exactly you are trying to do

Taifun

The data is streamed nicely thankyou taifun
The path is there because i need to check that the blok is functioning by saving in other places hehehe

you can't write a file to the ASD of another app, in this case the companion app...
try to store it in shared storage, for example /Download/locationj.txt

Taifun

The problem continues ican store the data using save file to dummy
IMG-20240202-WA0005

But i got error on clouddb the list is 0

please show your complete blocks of your Itoo setup
Taifun

I did try moving the cloudb into three event handler but it seems the clouddb blok not sending data

Here is the aia file
Bgtest.aia (70.4 KB)

Note: the location.txt content is changing every second

One last question is it possible tosend data via clouddb using itoo kuwaraswamy extension???
If so possible i will continue experiment with this ext
If not i will try another method sending the data.

Thank you
Cloud