[Q] Creating an event when bluetooth starts? - Android Software Development

Hi, im wondering if and how (any tutorials?) i could get a command to start another event? Say bluetooth is started and i want it to start something else, How would i go about it?
I'd prefer to learn how to do it but dont have a clue where to start!

your application can listen for the ACTION_STATE_CHANGED broadcast Intent, which the system will broadcast whenever the Bluetooth state has changed. This broadcast contains the extra fields EXTRA_STATE and EXTRA_PREVIOUS_STATE, containing the new and old Bluetooth states, respectively. Possible values for these extra fields are STATE_TURNING_ON,STATE_ON, STATE_TURNING_OFF, and STATE_OFF. Listening for this broadcast can be useful to detect changes made to the Bluetooth state while your app is running.
Taken from http://developer.android.com/guide/topics/wireless/bluetooth.html
I can help more if you need it
From something awesome

Related

Looking for some help with the "Torque" app

This app works pretty well for just the basics. Very handy for any auto enthusiast out there. It works with a basic ELM 327 Bluetooth OBD adapter. Recently the Developer and released a plug-in that is supposed to allow users the ability to fix it yourself if they are having problems getting PIDs (Parameter ID) to work. This also allows 3rd Party add-ons.
Market links
https://market.android.com/search?q=Torque&c=apps&so=1
Forum for Plug-in “TorqueScan”
http://torque-bhp.com/forums/?wpforumaction=viewtopic&t=438.0
The app itself already comes with a set of GM PIDs that don't work, they need to be added from the advanced setting menu. This really sucks and there has been a dozen updates since people have brought up the problem to the developer and no fix yet.
I have two lists of GM PIDs that can be used with this app if someone knew how to do it/write code.
PID List
PID list 2
Does anyone want to take a look at it and see why the app will not display the custom PIDs that come with the app? and if possible write a 3rd party add-on with a working PID list?
I used this program, and even got a cheap Bluetooth OBDII adapter. I have a Saturn, and it never gets the correct codes for it. Only simple stuff like engine misfire.
Glad to see there's a reason why it pulls out incorrect codes that nobody has ever heard of. Though sad to hear that all this time, and they haven't bothered to implement it. Must be Honda fanboys.
I've used torque and a cheapie elm 327 bluetooth adapter and never had an issue with incorrect PIDS (in my rx8). I'm unsure of what program you're looking for, why not just add the PIDS manually in advanced settings, it should save them for you.
I have tried adding every variation of the KR PID there could be along with the formula. All efforts end up with no data.
I believe the issue is rooted in the code of the app not supporting the exteneded GM PIDs.
special pids
if you know your special pids & conversion for your vehicle i would use "alobd terminal" or a terminal emulation on pc to send pid requests manually. the elm interface is well documented and easy to use also in "commandline mode".
-didi
Lists no longer work.

CommMgrPro for Android (Rules Engine) [ 2012-06-20 V1.1.19 ]

Hi.
Market URL https://play.google.com/store/apps/details?id=com.dhr.commmgrpro&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5kaHIuY29tbW1ncnBybyJd
I am porting CommMgrPro from Windows Mobile to Android.
This is the original post.
http://forum.xda-developers.com/showthread.php?t=299070
The goal of this project is to customize the behaviour of your device depending of many events, like time, date, position, battery state, calendar, radios states, and any environment element.
Rules Engine is a complete rules engine to customize your device behaviour automatically. The idea is simple and powerfull:
The device broadcast automatically events about many thinks
Hardware events like Bluetooth, wifi, battery level, cpu state, position events, time events, calendar events, phone ring state, screen state
And much more...
And the device can perform automatically many actions without user intervention:
Set hardware state, wifi, bluetooth, speaker, launch or kill a program, apply a predefined profile, send a SMS/Email, ringtones....
And much more...
With Rules Engine you can create many rules. Each one is composed of:
Conditions. Simple or complex conditions using AND/OR clauses. For example, if weekday is monday, between 7:00 and 9:00 and my current position is my office and battery level is higher than 20% then send an email .....
Actions. Actions to be executed when the rule passes from unmatched to matched and actions to be executed when the rule passes from matched to unmatched. User can set their order, delays, etc
Other features:
Profiles: These are set of actions that the user can select / unselect quickly from the main page.
Quick timed switchers: For example, set Bluetooth on, but put off again after 90 minutes
New actions and conditions are being added each day.
Current conditions:
Weekday and time
Wifi state
Speaker state
Bluetooth state
Flight mode state
Data connections enabled / disabled
AC power / Battery
Location. To be inside or outside of some place (defined by point and radius)
Screen state
To match or unmatch other rule
Some program is running or not
Battery level (min, max)
Bluetooth connected to an specified device
Phone status (ringing, in call...)
Calendar events. To be in a caleendar event that contains some word, like 'meeting"
Autorotation screen On/Off
Mobile network type in use (GPRS, HSDPA, CDMA, LTE, etc)
Data connection On/Off
Headphone plugged or not
Car mode activated / deactivated
Current action:
Set wifi state
Set speaker state
Set bluetooth state
Set flightmode state
Set connections enabled / disabled
Launch a program
Kill a program
Apply a profile (Set of rules)
Set autorotation screen state
Set screen bright state
Set auto sync accounts state (gmail, facebook, etc)
Play a song.
Send SMS
Send Email
Set car mode
Set wallpaper
Set ringtone (as user mp3 or android ringtone)
As we did with CommMgrPro for Windows Mobile I hope this project become a user driven project.
Thanks¡¡
Known bugs
Empty
Next features being developed
Roaming condition
Condition connected to a specified hotspot
Was a CommMgrPro user for a long time on WM so I'm looking forward to how this turns out on Android, Daniel. Glad to see you're here!
For my part, I'd like to
1) have ALL of those notifications available to me (with the possible4 exception of date/time set)
2) be able to change settings, run scripts, use Locale plug-ins (no reason for you to replicate functionallity that's available in existing code), start/kill other apps and send arbitrary Intents to other apps. Output to a file would be nice as would being able to read and parse a file (rudimentary parsing is OK)
Perhaps a tall order, eh? Start small. GPS and/or cell tower location-based notifications to trigger actions like turning on/off WiFi, bluetooth, cellular radio, conditioned on time of day/day of week/date would be a good start, for me at least. I'd also like to be able to create profiles that I can trigger manually, preferably by a shortcut. While I'm not big on widgets, people will want them and give you bad ratings in the Market if you don't have them.
short/y said:
Was a CommMgrPro user for a long time on WM so I'm looking forward to how this turns out on Android, Daniel. Glad to see you're here!
For my part, I'd like to
1) have ALL of those notifications available to me (with the possible4 exception of date/time set)
2) be able to change settings, run scripts, use Locale plug-ins (no reason for you to replicate functionallity that's available in existing code), start/kill other apps and send arbitrary Intents to other apps. Output to a file would be nice as would being able to read and parse a file (rudimentary parsing is OK)
Perhaps a tall order, eh? Start small. GPS and/or cell tower location-based notifications to trigger actions like turning on/off WiFi, bluetooth, cellular radio, conditioned on time of day/day of week/date would be a good start, for me at least. I'd also like to be able to create profiles that I can trigger manually, preferably by a shortcut. While I'm not big on widgets, people will want them and give you bad ratings in the Market if you don't have them.
Click to expand...
Click to collapse
Thanks¡ and happy to see you again
Hi Daniel,
Great news that you are thinking of a port to Android. You will make me (and a lot of others as well) very happy with that. I am still using a bunch of programs to let at least do a part of what your program did for WinMo. After I finally ported my HTC HD2 permanently to Android (one of the things that was holding me, was the lack of your program for Android), but I am still missing CommMgrPro.
short/y said:
1) have ALL of those notifications available to me (with the possible4 exception of date/time set)
2) be able to change settings, run scripts, use Locale plug-ins (no reason for you to replicate functionallity that's available in existing code), start/kill other apps and send arbitrary Intents to other apps. Output to a file would be nice as would being able to read and parse a file (rudimentary parsing is OK)
Perhaps a tall order, eh? Start small. GPS and/or cell tower location-based notifications to trigger actions like turning on/off WiFi, bluetooth, cellular radio, conditioned on time of day/day of week/date would be a good start, for me at least. I'd also like to be able to create profiles that I can trigger manually, preferably by a shortcut. While I'm not big on widgets, people will want them and give you bad ratings in the Market if you don't have them.
Click to expand...
Click to collapse
I do totally agree with this. Lets start with cell-tower switched on and off, of 3G, WiFi and GPS. One of the biggest problems with Android is the huge amount of battery drain. This will make a good start. I know, there are a lot of programs which does it in a simular way, but CommMgrPro has a lot more to offer, after some time. And Daniel, you have the proof and skills of a very good programmer
Thanks!
Hi.
Right now there is a fully working version. I am testing it myself and works very well. In a few days I will post it. Then I will fix bugs and will add more features. Basically:
1) More conditions to trigger a rule. Battery level, incomming call from XXX, incomming SMS, etc
2) More actions to be executed when a rule is matched: run or kill a process, etc
Thanks
Gigabyte Gsmart G1345
I will be locking forward to get this working on my device.
It is really needed.
I sincerely hope that it could work on my device with Android 2.3.4.
God damn D man you finally turned to the dark side. Thought you had abandoned development. CMP was the only thing that kept me on WM until Jan this year. Have looked for CMP for android a couple of times but now you are ready. Cool man. I have started to use Tasker, and have some pretty crazy rules, but some things are not possible with Tasker, so I hope that you make it possible to integrate with Tasker as a plugin.
Anyway D. Its good CMP have not died.
One thing I miss. Being able to run my CMP as a service. Actually I believe tons of apps could save battery if they were better programmed and just called the part of the app that is needed. Maybe its nonsense, as I am not a dev, but I look forward to have you back on the train D.
---------- Post added at 11:39 PM ---------- Previous post was at 11:30 PM ----------
Just went to the CMP page. MAN, memories from good old wm days. I really spent many hours tweaking CMP.
I miss the possibility to see all cell towers in a time scheme, and then add them to different profiles..... Is that part coming?
By the way, what phonie are you having?
HI answer in my next post (5 minutes)
Hi Martin. Time passes hehehehehhe
Well, as I posted before I didn't want to waste your time with buggie releases.
Answering your question, positions are given by location + radius. But I will develop a simple way to provide cells. It is a old way but has a good advantage. It doesn't require internet connection. You teach CMP which cells are near your home so CMP doesn't need internet. Well, currently you define a point and a radius.
As you know CMP is a rule engine. The device gets thousand of events (battery levels, positions, week days, hardware status, calendar events) so you can create complex rules to launch actions (set hardware status, launch programs, kill processes and much more.
The program will be FREE and will probably contain ADDs. There will be a donate version (0.99$) to avoid ADDs to support me.
Don't forget Martin, post suggestion about conditions and actions. Rememeber, one rule = Condition 1 AND Condition 2 AND condition 3.......and if matched then execute Action1 and Action 2 and ACtion 3......
There are other rules programs, but this one will what we really need (from programmer to programmer)
andddd just sold my galaxy S2 to buy a galaxy note. I ve iPhone 4s to develop projects for old and busy customers (you know, MAC=MONEY)
Don't worry, I will come up with suggestions if something comes up. Like your way to always answer our good and sometimes stupid questions, but important to me is flexibility. I know there is is problem calling GPS functionality, but Secure Settings solved that by an external plugin that could be called from Tasker and others. So are you planning an SDK or similar to let CMP interact with other software? In my head CMP could be a standalone app, but also the app that could be used in bits or integrated with other software.
Have another...
One thing I miss on android is being able to copy screen press like calling an app and then copy the button interactions. I will send you thoughts on this in a pm later when more thinking have been done as it could be a standalone app you could develope later.... And perhaps make some earning on.
Note..I am thinking about buying it, so I look forward to hear your thoughts about it.... When do you get it?
Hi Martin.
CMP will interact with other programs using android Intents. And other programs can interact with CMP, applying rules for example, using intents too.. I dont really know if you know what intents are, but they are a nice and easy way to allow programs interaction.
I didnt understand your sugestion about copy press. What does it mean? You know my english is poor, hehee
Enviado desde mi GT-N7000 usando Tapatalk
Daniel, I've been away from CMP (and Windows Mobile/Phone) since Android launched but I have missed CMP just about every day. Because of the value I received from CMP back then, I plan to buy it as soon as it's available. And when you're ready for beta testers I want to participate.
looking to test myself,I remember testing back in the wm5-6.5 days
Very soon I will upload the first version. Let me finish a couple of conditions (a program is running or is stopped and other one, battery level range). So probably next week i will upload it,but remember, much work to do
Enviado desde mi GT-N7000 usando Tapatalk
may i ask why you don't simply use one of the many many already available apps of this kind?
just to name a few:
tasker
settings profile pro
llama (it's free)
...
Well, it isnt a profiler. Its a rule engine. Of course, you can use it as a profiler. The idea is a total automation of the device. Soon the conditions can be used as complex AND/OR clauses. Well, its a rule engine as I think it should be. I did it in Windows MObile and I am trying to translate it to Android learning from old errors...
tasker is a rule engine too.
and llama and settings profiles is just a simpler rule engine, more optimized towords profiles, but not only!
Thanks, I am trying to make CMP better than those programs
ok. no worries. i just wanted to mention this as maybe it would be easier.
but this of course is a reasonable reason to port it.
good luck.
I've used several of the other apps (Locale, Tasker, Settings Profile and a few other profile programs I can't recall). Tasker is currently my workhorse. It's extremely powerful but it's a PAIN to program. There's no good way to cross-reference variables or other tasks so, to make global changes to a routine, I need to export my profile, bring it up in a file viewer on my PC and do searches and such on the PC while changing the programming on my phone. I'm not knocking Pent, the developer, he's done a phenomenal job on Tasker, especially given that it's only one person doing the development. But, for all its power, once I got beyond a few relatively trivial profiles, its become nearly unwieldy.
I don't know exactly what Daniel has in mind but I know what I did with CMP on Windows Mobile. With the additional capabilities in Android, I think Daniel could do really really good things (no pressure, Daniel). I'm looking for power with more facilities to make it easier on someone who does lots of things with the app.

[Q] Android Widget/UI Without Broadcast receiver?

Hi ,
I am an Android developer and I need to implement a widget. However, my constraint is that I cannot use a broadcast receiver to implement the widget. So is there any solution or way around to implement the widget without the broadcast receiver? Or maybe any UI way of showing if an application is running without having to use broadcast receiver?. I am desperately waiting for an answer.
Thanks,
Savio

Writing Global Overlay Help

So the end goal in this project is to view an RTMP stream and interact with the server at the same time.
This is a little hard, because obviously VLC or Mx Player or whatever I'm viewing the RTMP stream with doesn't know how to communicate with the custom server. So I'm trying to make an overlay that will sit on top of the player which has buttons, the buttons can then communicate with the server which will alter the stream and you'll see the result streamed to the player. This is sort of like an interactive HUD if you will.
Problem is that it's difficult to make an overlay which will take actions if they're clicked, but can also pass those actions to the background app (in this case the player) if it opts not to process them. Right now my app creates a service and the service catches the input and displays whatever. This WORKS, but the problem is no matter what I return from "onTouchEvent(MotionEvent)" in the view of the service (true or false) the home screen is frozen. It catches the press but it won't pass it on, even if the function returns "false" - to say it's not handled.
I'm not sure if I'm not passing the touch event on correctly, or is this not even possible? I read somewhere that it's not possible for app A to provide input to app B, but I'm not sure if that is correct (frankly I don't believe it). Basically I want to handle some presses in the overlay and allow some others to go to the active app beneath it.
Does anybody have any input for making this work as expected? I'm creating a view to pass to the window manager with the following flags:
Code:
LayoutParams params = new LayoutParams(LayoutParams.TYPE_SYSTEM_ALERT,
LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH | LayoutParams.FLAG_NOT_FOCUSABLE,
PixelFormat.TRANSLUCENT);
I've tried playing with the flags but to no avail, I cannot get the touches to go through, even if all the onTouchEvent(MotionEvent) function does is return false.
Anybody have any ideas?
I'd be open to alternative implementation ideas too, the point is I need to basically have two communication channels open, one is a player (ie. VLC) for viewing the RTMP stream, which likely would not change, the other would be the command stream, which will control said server, which I am open to change. I considered trying to use the accelerometer in the service instead of an overlay, but I think that would create a bad proof of concept UI (because there's some latency in the video stream), any alternative ways to communicate with the server would be up for discussion! Maybe I can plug an IO device into the USB port or something, like a keyboard? Extra buttons could be of use. It's only a POC, so some clunkyness IS okay.
EDIT:
As you can see above, I used an alert type instead of an overlay type, I guess this is because overlays won't accept focus after a certain Android version number. I'm using 4.0.4 ICS.

Best way to receive "DisplayOn" Intents in background

Hi,
I´ve have a App, which to some stuff everytime the user turn on the display or unlock the phone.
So far it works without a problem.
I just registered a Receiver (ACTION_SCREEN_ON / ACTION_USER_PRESENT) in a Service which runs in background.
But now wit Android 8 I can´t use this solution, because I can´t start the Service without putting it in foreground.
My question is:
What is the best way to listen to ACTION_SCREEN_ON and/or ACTION_USER_PRESENT Intents?
Is it importent that these receivers will run, even when the App is killed or in background!
I don´t want to create a foreground Service (With the icon in the android bar)!
Is JobIntentService the right solution?
Thanks for helping....

Categories

Resources