MonkeyTalk for recording and replaying the user actions; could it work offline? - energy

I want to use MonkeyTalk for recording and replaying the user actions on the mobile device for measuring energy consumption but I don't want the mobile device to be connected the the computer or its WiFi to be on (because it consumes energy) when it is replaying the actions. So does anybody know if the phone has to be connected with a cable or WiFi to the computer when you want to replay the recorded interactions?
I would also appreciate to know if you have any suggestion for using other tools.

Update entire app from SVN to your mac system.You are creating an IOS agent to your app activate for testing.Once running your app then automatically record option is activated in monkey talk automation tool.

Related

How to run a service/daemon in Android TV Oreo at all times?

I want to build an application for the Android TV platform. Part of this app is a service/daemon, which must start when the device boots, and must always run when the Android TV is powered on, even in stand-by.
Why do I want this service/daemon to run at all times? Part of my project is an application for portable devices (such as a smartphones and/or tablets), which will send commands via TCP to the Android TV app. Based on the kind of TCP message, the app will perform an action (power device on/off, push my app to the foreground etc.).
I have tried different code examples, but Android TV Oreo just kills this service after a while. I think these code examples were made before the Android Oreo restrictions.
An application like Kodi for the Android TV, has a web service that is always running in the background. Even on Oreo. but I can't figure it out how they have done that. Does anyone have some tips for me?
Edit: Yatse Remote Starter does what I want for Kodi, what I want to do with my app. It starts on boot, runs even in stand-by. https://play.google.com/store/apps/details?id=tv.yatse.android.remotestarter&hl=en. Still I would like to know how, so I can do it myself as well. Thanks in advance!
Many android apps and services are running simultaneously. To lower the chance of problems which cause poor user experience, Android 8.0 apps has two ways to limit what an app can do:
Background Service Limitations: While an app is idle, there are limits
to its use of background services. This does not apply to foreground
services, which are more noticeable to the user.
Broadcast Limitations: With limited exceptions, apps cannot use their
manifest to register for implicit broadcasts. They can still register
for these broadcasts at runtime, and they can use the manifest to
register for explicit broadcasts targeted specifically at their app.
Therefore, you need to create a ForegroundService in order to continue processing of your app. You can check this SO post regarding this issue.

Unable to record screen sharing in Skype for Business

My company recently migrated from Lync 2013 to Skype for Business Desktop. When I record a meeting in Skype, I no longer am able to record any screen sharing. It worked in Lync 2013. According to https://support.office.com/en-us/article/record-and-play-back-a-skype-for-business-meeting-6d1dd3c5-ded7-4935-8db0-d6d7173c482f which says:
When you record a Skype for Business Meeting, you capture audio,
video, instant messaging (IM), screen sharing, PowerPoint slides,
whiteboard activity, and polling. Any of the presenters can record a
meeting and save it on their computers.
I have multiple monitors set up; I tried sharing my primary desktop and tried sharing a specific program on my primary desktop, and neither approach saved the shared screen. It just recorded audio.
[Update] Additional details originally added as a comment about a month after initial post:
I do have a Targus USB 3.0 ACA038US video driver plugged into my docking station so I can have three screens. Skype recognizes all three screens when I share, but nothing is recorded. I tried sharing just a program and that did not work either. I disabled the monitor using USB video driver and that did not help either. I did not try unplugging the USB adapter yet.
I found out a month after my original post that I am able to successfully record screen sharing when working from home, where I am not using the Targus USB video driver. I do have two screens at home; the laptop, and a monitor plugged into the docking station, so the problem appears to be the Targus hardware or Targus driver.

iOS 7 Bluetooth - app that handles events in background even after phone restart

I want to write a tracking application, which reacts/record when users get in a car and phone automatically pair with Bluetooth hands free. I need also Id of the hands free device.
On Android it is easy, using Broadcast Receiver your app listen to broadcasts that device had been paired with phone. It is working even after phone had been restarted and App did not run after restart.
Is it possible on iOS(7+) ?
You can do it by reading the "Performing Long-Term Actions in the Background" part of this docs
Essentially, using state restoration, the system takes note of what your app was doing when it was killed.
If the app is searching for a bluetooth device and is killed by the system, the system will take care of continuing this research and wake up the app again when the bt device has ben found.
Note that this will work only if the app is killed by the system, not by the user (using the multitask bar). This behavior has changed since iOS 7.
Alternatively, If your BT hardware can be programmed to send advertisements using the ibeacon protocol, your app can be "awakened" by the corelocation/ibeacon api. After that prompt then maybe the corebluetooth pairing code could be initiated.

Can an iPhone app send a command (data) through Wi-Fi (or maybe Bluetooth) to a device at a specific time when it is not running through?

Situation: My iPhone communicates to an external device through Wi-Fi. The app has also the ability to set up a schedule. This means that on a specific time the device should turn on and do some stuff. Now for this to happen there should be a timer on the external device or the iPhone should send a command to the device on a specific time.
Question: Is it possible to send a command to the external device while the app is in the background? Or does the app have to be in the foreground? Is it possible when the external device is an accesory? Cause I have read that apps are allowed to run in the background when they need to communicate to accessories??
Thanks in advance!
No you can't do this, you are only able to run an app in the background if its stream audio, a VOIP client or track user location. If you are in the accessories program (which means you can make hardware that works with the dock connector, then your app can also run in the background. but only if the accessories that is respons to is connected.
There is no way the schedule any operation to be triggered at a set time.
You can schedule a local notification, but the user wil have to view (open you app by click in the notification) before you app get informed about it.
Do you actually have the devices communicating? If not, you should take a look at Apple's MFI (Made for iPhone) program. Sending data or communicating from your iPhone to an external accessory through bluetooth falls under it. They provide you with certain protocol specifications that allow you to communicate with external accessories. It's difficult to do something like this if you are an individual developer though. Here's the link: https://developer.apple.com/programs/mfi/.

Is it possible to stream music over a bluetooth p2p connection using iPhones

I am trying to connect multiple iPhones using bluetooth. I was thinking of having a server/client system. I just want to know upto how many devices can be connected using bluetooth? I am not able to find a reliable answer online.
Also If you know of any good tutorials regarding this it would great if you could point me to it.
Thanks
AC
A single Bluetooth device can connect with upto 7 devices in a piconet. If a device can do scatternet it can be connected to even more devices..
Application level connection can happen only if both devices supports the required profiles and corresponding role.
If you are trying to stream music , the profile to be used is A2DP , one device will need to be the A2DP source and other A2DP sink,
In case of Iphone it supports only A2DP source. So 2 iPhone will not connect with each other.
you can implement the bluetooth profile for this (A2DP), the big issue here is not the music streaming but the roles, you iPhones are going to play, for instance, you can be a "sound-source" and transfer audio to a "sound-sink" device, those roles have to be previously defined on the handshake and paring action, furthermore, if you are able to browse the properties of an iPhone you will get what port and what roles are supported, sadly muss I said, there is no sink role supported jet for iPhones, so the most that you can get till now is stream audio from iPhone to another bt capable device (speakers, pc, headset unit, etc) more info can be reached on the official bluetooth web site and what iOS until now supports.