OpenSeizureDetector / SMSAnnunciator

Android App to Generate Alarms when an OpenSeizureDetector SMS Alert Is Received
GNU General Public License v3.0
4 stars 1 forks source link

Read SMS Permission refused #1

Open antgwms opened 4 years ago

antgwms commented 4 years ago

In relation to the Google refusing permission, can the app receive a notification via an alternative method to SMS?

jones139 commented 4 years ago

Hi, If you are using it at home, the main OpenSeizureDetector App can be installed on other devices and they can connect to the main seizure detector device using WiFi to receive alerts. Away from home we only have SMS alerts because as far as I am aware we would need a central server infrastructure to do other sorts of notification? That is what this picture tries to show: https://github.com/OpenSeizureDetector/Android_Pebble_SD/blob/V3.5/doc/diagram_1024x500.png

I am hopeful that we will get Google to accept it though - just need to work out what the right keywords are to say so it passes the test!

I have submitted another version tonight so will see what they say tomorrow - I have the option of appealing against the decision if they don't accept it - it is just another thing to do!

antgwms commented 4 years ago

True a server would be required - a bit soon for that. I'm no Android expert as currently getting my head around it, however I notice on the documentation https://developer.android.com/guide/topics/manifest/uses-feature-element#permissions-features that you can include 'android:required="true" />' to the manifest file i.e. which may help, so I'll create a pull request for you to consider. I also suggest a READ_SMS permission reason, for example "Receive UUID from companion app connected to user peripheral device hosting the primary application"

steve999lee commented 3 years ago

Do you think Google would be more likely to approve if the app only looked at messages from a specific number?

jones139 commented 3 years ago

@steve999lee I think Google's attitude would be the same because we would still need permission to read all SMS messages so we could scan through them to identify if they were sent from the specific number - I don't think there is a way to just ask for messages from a number (but could be wrong - happy to be corrected if I have missed something!) Thanks, Graham.

antgwms commented 3 years ago

@jones139 is communication between both apps away from the home still an issue?

jones139 commented 3 years ago

@antgwms if you mean the 'network data source' communication that we do over wifi to mimic the OpenSeizureDetector display and alarm sounds on another device then yes, it only works (easily) over wifi [it is possible to set up a VPN to get them to talk to each other though, I think....]. The SMS Annunciator works fine away from home as it uses SMS messages not networking - the issue with SMS Annunciator is it is not on play store and you have to install it manually.

steve999lee commented 3 years ago

So is any app that asks for the receive sms permission not allowed?

I can't see any way to limit the permission to a specific number.

Perhaps if it requested the permission everytime it started up?

steve999lee commented 3 years ago

I find that the annunciator service seems to restart or switch off periodically on my honor phone. Wondered if it was anything to do with unauthorised app.

steve999lee commented 3 years ago

Another thought - since a notification is sent whoever an sms is received, could it listen out for the notification instead of the actual sms nessage

jones139 commented 3 years ago

So is any app that asks for the receive sms permission not allowed? Yes, READ_SMS is considered a 'dangerous' permission because of the potential privacy issues, and it is only allowed for specific use cases and I didn't manage to persuade them to accept the ones I tried... see https://www.openseizuredetector.org.uk/?p=1524

So the SMS annunciator app is currently rejected from the Google Play Store, but can be downloaded directly from this repository.

antgwms commented 3 years ago

Permitted uses of SMS is the 'apps requesting access to the SMS', the 'Apps must be actively registered as the defvault SMS' handler 'before prompting users to accept any of the permissions and must immediately stop use of the permission when they are no longer the default handler.'

Exeptions include - connected device companion apps that enable sending and receiving of SMS or calls. Apps that enable the user to connect a mobile device to a connected device (for example, a smartwatch, automotive, smart home device, etc.) and send/receive texts and phone calls.

Transparency is key, but the fundamental question is (as @steve999lee alludes to) - does the communication between companion apps need to be SMS?

steve999lee commented 3 years ago

Realistically there are only 2 options...

SMS or IP network

There are various ways to get IP communication over public internet - none of them ideal.

  1. Using Wifi - just as we do when connecting locally this requires either a static IP address from the broadband provider or using a dynamic DNS service. You also have to setup port forwarding and mac address reservations on the router which means you have to have admin access to your router which obviously you wont always have. I tried it and it works well.

  2. Using mobile data - dynamic DNS isnt possible on most providers but it is possible to get a static ip address although I this costs money.

  3. Cloud server - costs money and security/privacy issues.

SMS is the best solution because it will work almost anywhere and doesn't rely on a data network.

steve999lee commented 3 years ago

Looks like you can get a fixed ip address data only sim card for £2 per month which would work for me where I'm using a dedicated (old) phone as the monitoring phone and its not used for anything else.

https://order.aa.net.uk/simorder.cgi#err

jones139 commented 3 years ago

That sounds worth a try - I guess that as they are offering fixed ip they must also route to the device.
I found an issue with mobile Internet was that even if I knew the ip address of the phone I could not connect to it. I had to use a van to do it.

steve999lee commented 3 years ago

I found a better, free and more secure way of allowing the 2 phones to talk over the internet using openvpn.

You can sign up for openvpns cloudvpn which allows up to 3 devices to share a vpn for free. Then install the openvpn connect app on each phone.

Provided each phone has data either through mobile data or wifi, this would the allow remote network datasource monitoring.

No gdpr issues or servers to maintain.

https://openvpn.net/cloud-vpn/

jones139 commented 3 years ago

That sounds great, thanks!

If you have chance, would you mind providing some instructions for me to put on the web site?

Cheers

Graham.

On Sat, 25 Sept 2021 at 22:07, Steve Lee @.***> wrote:

I found a better, free and more secure way of allowing the 2 phones to talk over the internet using openvpn.

You can sign up for openvpns cloudvpn which allows up to 3 devices to share a vpn for free. Then install the openvpn connect app on each phone.

Provided each phone has data either through mobile data or wifi, this would the allow remote network datasource monitoring.

No gdpr issues or servers to maintain.

https://openvpn.net/cloud-vpn/

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/OpenSeizureDetector/SMSAnnunciator/issues/1#issuecomment-927183015, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACLSY3TNDDSN4KDYVOG6PLUDY2ZTANCNFSM4Q47MOTQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

-- Graham Jones http://google.com/+GrahamJones Hartlepool, UK.

steve999lee commented 2 years ago
  1. Create an openvpn cloud account by going to https://openvpn.net/cloud-vpn/ and then click Activate your free three connections
  2. Enter email address and create your account
  3. Click on link in the verification email and then enter a secure password and other details.
  4. Create a unique openvpnid - this is your private network
  5. Setup cybershield - accept all defaults
  6. Install the andrioid openvpn connect on each phone specifying the openvpn id from above
  7. Start openvpn connect using the email and password from above - it will display connection status
  8. Note YOUR_PRIVATE_IP on the sending phone
  9. Configure the receiving phone open seizure detector network datasource server ip address to be the private ip address above.
jones139 commented 2 years ago

Great, thank you - I will add it to the web site.

Regards, Graham

On Fri, 1 Oct 2021 at 12:34, Steve Lee @.***> wrote:

  1. Create an openvpn cloud account by going to https://openvpn.net/cloud-vpn/ and then click Activate your free three connections
  2. Enter email address and create your account
  3. Click on link in the verification email and then enter a secure password and other details.
  4. Create a unique openvpnid - this is your private network
  5. Setup cybershield - accept all defaults
  6. Install the andrioid openvpn connect on each phone specifying the openvpn id from above
  7. Start openvpn connect using the email and password from above - it will display connection status
  8. Note YOUR_PRIVATE_IP on the sending phone
  9. Configure the receiving phone open seizure detector network datasource server ip address to be the private ip address above.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/OpenSeizureDetector/SMSAnnunciator/issues/1#issuecomment-932151186, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACLSY76KI3UARARBMJHQVTUEWMFFANCNFSM4Q47MOTQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

-- Graham Jones http://google.com/+GrahamJones Hartlepool, UK.