CopyPastor

Detecting plagiarism made easy.

Score: 0.8313154530552056; Reported for: String similarity Open both answers

Possible Plagiarism

Plagiarized on 2014-04-10
by Lal

Original Post

Original - Posted on 2012-07-27
by ninge



            
Present in both answers; Present only in the new answer; Present only in the old answer;

I belive the key is in your permissions. By saying that your app uses RECEIVE_SMS and READ_PHONE_STATE Google Play uses that to filter out devices that can't do those things (tablets) because it thinks that your app needs to use those permissions in order to work. According to the android developer site:
**To prevent those apps from being made available unintentionally, Google Play assumes that certain hardware-related permissions indicate that the underlying hardware features are required by default. For instance, applications that use Bluetooth must request the BLUETOOTH permission in a element — for legacy apps, Google Play assumes that the permission declaration means that the underlying android.hardware.bluetooth feature is required by the application and sets up filtering based on that feature.**
Also, look at this:
Telephony CALL_PHONE android.hardware.telephony CALL_PRIVILEGED android.hardware.telephony MODIFY_PHONE_STATE android.hardware.telephony PROCESS_OUTGOING_CALLS android.hardware.telephony READ_SMS android.hardware.telephony RECEIVE_SMS android.hardware.telephony RECEIVE_MMS android.hardware.telephony RECEIVE_WAP_PUSH android.hardware.telephony SEND_SMS android.hardware.telephony WRITE_APN_SETTINGS android.hardware.telephony WRITE_SMS android.hardware.telephony
You have `RECEIVE_SMS` and `READ_PHONE_STATE` so you automatically have `android.hardware.telephony`. You can fix this by doing
<uses-feature android:name="android.hardware.telephony" android:required="false" />
All of this is explained in more depth [here](http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions).
I belive the key is in your permissions. By saying that your app uses `RECEIVE_SMS` and `READ_PHONE_STATE` Google Play uses that to filter out devices that can't do those things (tablets) because it thinks that your app needs to use those permissions in order to work. According to the android developer site:
> "To prevent those apps from being made available unintentionally, > Google Play assumes that certain hardware-related permissions indicate > that the underlying hardware features are required by default. For > instance, applications that use Bluetooth must request the BLUETOOTH > permission in a <uses-permission> element — for legacy apps, Google > Play assumes that the permission declaration means that the underlying > android.hardware.bluetooth feature is required by the application and > sets up filtering based on that feature."
Also, look at this:
> Telephony CALL_PHONE android.hardware.telephony CALL_PRIVILEGED android.hardware.telephony MODIFY_PHONE_STATE android.hardware.telephony PROCESS_OUTGOING_CALLS android.hardware.telephony READ_SMS android.hardware.telephony RECEIVE_SMS android.hardware.telephony RECEIVE_MMS android.hardware.telephony RECEIVE_WAP_PUSH android.hardware.telephony SEND_SMS android.hardware.telephony WRITE_APN_SETTINGS android.hardware.telephony WRITE_SMS android.hardware.telephony
You have `RECEIVE_SMS` and `READ_PHONE_STATE` so you automatically have `android.hardware.telephony`. You can fix this by doing
<uses-feature android:name="android.hardware.telephony" android:required="false" />
All of this is explained in more depth [here][1].

[1]: http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions

        
Present in both answers; Present only in the new answer; Present only in the old answer;