I wrote an application and I need to send sms. I think that it is a good idea to do it during the application installation or when installation is finished.
It is correct? If it is correct, how can I do it?
Sorry, but you cannot get control during application installation.
This question asked how to intercept an intent during a download. I personally tried by getting the Android Market source code and working on a c2dm hijack, however because it verifies its c2dm transmission with the app signature, it is about impossible (and very much frowned upon) to spoof, and without rooting the phone, you cannot listen to packets coming in on the network interface. Your best bet is to send the text after your application has installed (as described here).
Related
I've been having some problems with my app in production, some Huawei users have complained that the app doesn't leave the home page. When I go to see the log requests, I see that no requests are made. Any other users do not have this problem.
I don't know if it's a problem with the type of processor the phone uses, or if there's some sort of firewall blocking.
Any suggestion?
Have you checked usecleartext attribute in AndroidManifest.xml? Maybe you are trying to communicate a non-https service.
See more...
How can an incomming Type-0 SMS (please note: "Type-0" is ment, not "Class-0") be caught by a BroadcastReceiver?
Background: For configuration purposes Type-0 SMS (with TP-PID=ME data download) are sent. This needs to be "intercepted" by an Android application and the data inside the message needs to be retrieved/ decoded.
So the intention is to READ Type-0 SMS, NOT sending it!
Is it possible with Android at all? Is perhaps a native app necessary?
Thanks and kind regards!
Consider looking into this project as they have accomplished this:
https://github.com/SecUpwN/Android-IMSI-Catcher-Detector
You can do it natively in Android. About 10 years ago, Google made silent sms really silent. So, just reverse that commit. Android Commit to silence type zero sms
In later versions of android, the corresponding files have been moved to /frameworks/opt/telephony/src/java/com/android/internal/telephony/gsm. They are SmsMessage.java and GsmInboundSmsHandler.java
I would like to notify my server that the user deleted the application. How can I accomplish this?
Get application uninstall event in android
According to this post what you ask for is not possible. Are you by any chance using a C2DM implementation?
Unfortunately there is currently no way for an Android package to execute code when it is removed. However, you can register a BroadcastReceiver for ACTION_PACKAGE_REMOVED in a different package that will be called when packages are removed from the phone.
Also see this question.
I want to prevent "sms sending"/texting on android.
There are some applications doing that but i don't know how?
eg.:
Textecution
Stop Drunk Text 2.0
Stop Drunk Text 2.0, as far as I can see, works by messing up the contacts you choose to prevent texting to.
About Textecution - I could't get enough information about its mechanism but I guess that it blocks running the Texting application somehow, not actually sending messages. Maybe one could tell more about it if he saw the app in action, which I haven't.
I think that if you have accepted them to have the permission to send sms you will have to stick with that UNLESS you download Droid Wall (my choice) and you choose to block internet/phone network access to those applications.
Remember, Droid Wall. It's free in the Market. You'd have your phone rooted in order to let it work by the way.
I would like to require that a user type a password before being allowed to uninstall/remove my application. How can I implement this functionality?
You could do this by:
The first time your app is installed, install a separate application/package ("watcher").
The only classes "watcher" contains is a BroadcastReceiver that listens for ACTION_PACKAGE_REMOVED
Add a BroadcastReceiver to your application that also listens for ACTION_PACKAGE_REMOVED
When a intent is broadcast to one of your receivers, check if the other component is still installed. If is isn't (the user just uninstalled it), prompt for the password - if it's wrong, reinstall the other component. If it's right, uninstall yourself.
You can exec logcat and get the start activity intent information.
You will find that before the uninstall activity is displayed, there is
a text msg such as:
Starting activity: Intent { act=android.intent.action.DELETE dat=package:com.comodo.pimsecure cmp=com.android.packageinstaller/.UninstallerActivity }
then you can pop a activity ask for password now.
It is possible. you can do it with DeviceAdminReceiver api. (i don't no how)
This is a hard problem. I can think of at least one non-evil use-case for it.
e.g. Stolen Phone Recovery app - you wish to deter ne'er-do-wells from uninstalling the app.
In this case, I can think of two sensible assumptions which would stop me implementing what you're looking for:
the thief is unaware of your app, so will not try to uninstall it.
the thief is aware of your app, and switch it off until he can get it to an iron box* to re-install the OS.
* For the uninitiated: an iron box will prevent the device sending or receiving electromagnetic signals.
Of course, this answer amounts to You Ain't Going To Need It, though I suspect you have already thought this through.
Protect installing/uninstalling apps by password makes Android more secure from malware/viruses. Your Android become as secure as iPhone.
How it works:
Automatic apps installing is prompted to user. You can search the app name. If not secure, Block it.
Root access is prompted to user. Too many ads is an indicator that access is dangerous.