<issue_start>username_0: I just wanted to know if there's a OneNote app for Android, that would allow me to actually use it to its full potential (unlike that crap released by MS).

I am thinking about getting a Transformer and it is very important to me since all my notes from classes and lectures are in OneNote. I found many apps that would allow me to work with Word, Excel or PowerPoint. But everybody seems to be forgetting about OneNote...<issue_comment>username_1: [Evernote](http://evernote.com/)
================================

I consider [Evernote](https://play.google.com/store/apps/details?id=com.evernote) to be the closest alternative to OneNote, available from [Google Play Store](https://play.google.com/store/apps/details?id=com.evernote).

For me, the biggest advantage of Evernote, which even OneNote doesn’t have, is the synchronization feature.

Key Features:
-------------

>
> * Sync all of your notes across the computers and devices you use
> * Create and edit text notes, to-dos and task lists
> * Save, sync and share files
> * Search for text inside images
> * Organize notes by notebooks and tags
> * Email notes and save tweets to your Evernote account
> * Connect Evernote to other apps and products you use
> * Share notes with friends and colleagues via Facebook and Twitter
>
>
>

### Screen Shots (Android):

![Evernote Screen Shots](https://i.stack.imgur.com/iS93s.jpg)
Upvotes: 2 <issue_comment>username_2: OneNote for Android?

<https://play.google.com/store/apps/details?id=com.microsoft.office.onenote&hl=en>

hope I got you right - as my answer is... well... just tooooo obvious :)
Upvotes: 2 [selected_answer]<issue_comment>username_3: I know this is a very old discussion but so far the closest one I found (that nobody apparently knows yet) is Fiinote <https://www.fiinote.com/#/>

supports Android, Windows, there is an online HTML5 version, cloud sync, can write anywhere and move it, supports image attachment

I dare say that this has most of onenote's functionality we love and know on android even better than what Microsoft has provided!
BUT it is very cluttered and may be a mess for some who prefer OneNote clean look.
(that is kinda what is expected if you have the desktop OneNote client crammed into a 4.5 inch Android screen but it does the job pretty well so far and sync on all devices perfectly.)

I really hope OneNote team take a closer look at this software and make their Android version editable just like their awesome desktop version does beautifully!
Upvotes: 0


<issue_start>username_0: I'd like to filter some web sites I visit by running a local web proxy like Privoxy to get rid of the ads and simplify the layout.

Does someone know of a good web proxy for Android?<issue_comment>username_1: There has been a port of Privoxy for Android, it was available in the Play Store but has been deleted: Old and broken [Google Play](https://play.google.com/store/apps/details?id=com.galoula.Privoxy) link.

The author's site has a page still [here](http://android.galoula.com/en/Privoxy/) but no downloadalbe .apk.

You might have luck by asking him for an .apk. I don't know of any other port, alas.
Upvotes: 0 <issue_comment>username_2: As username_1 pointed out, Privoxy just seems have to left the playstore within the last month. At the moment, the probably only candidate left seems to be [FilterProxy](https://play.google.com/store/apps/details?id=KRIS.android.FilterProxy).

On the other hand, if you have your device rooted, there are some additional possibilities working by manipulating the device's local hosts file. A quite good candidate in that case would be [AdAway](https://play.google.com/store/apps/details?id=org.adaway), with the alternative of using [AdFree](https://play.google.com/store/apps/details?id=com.bigtincan.android.adfree) and several other candidates.
Upvotes: 1


<issue_start>username_0: When I first connected my phone (Samsung Galaxy S II) to a bluetooth device, I was prompted that the device wanted to access my contacts.

I mistakenly clicked `Do Not Ask Again` but I want to undo that. Is there a way to do this?

I'm running ice cream sandwich.<issue_comment>username_1: Try putting the device in discovery mode before you sync it on your phone. I ran into the same issue and that is how I resolve it.
Upvotes: 1 <issue_comment>username_2: Another way is, go to

1. Settings -> Apps
2. slide to "All" category and choose "Bluetooth Share"
3. scroll down a bit, click "clear defaults"

This way you can reset any "do not ask me again" or "use this as default" of any app.
Upvotes: 0


<issue_start>username_0: I have both my wifi password and my friend's saved. Since they live nearby sometimes it will automatically switch to theirs if the signal is stronger. I don't ordinarily want to use their connection unless I'm over there or my internet is down.

Is here any way to make android only automatically connect to my wifi without forgetting the other's password? It is long and impossible to memorize so forgetting the network is a huge pain.

Running ICS, and have root if needed.<issue_comment>username_1: Not exactly what you may have intended, but still a possible solution: Using an app like

* [Wifi QR Code Generator](https://play.google.com/store/apps/details?id=com.madeng.wifiqr)
* [WiFi QR Share](https://play.google.com/store/apps/details?id=com.sudomakemeanapp.wifiqr)

you can generate a QR Code of your friend's Wifi connection, print it, laminate it (for protection), and put it into your wallet. Now, whenever you want to use that Wifi network, take out the QR-Code, scan it with [Barcode Scanner](https://play.google.com/store/apps/details?id=com.google.zxing.client.android) -- and get connected. For a "log-out" simply disconnect, and *remove* the network from your list (to keep your device from autoconnecting).

Not quite elegant -- but it saves you from typing the long password everytime. Side-Effect: Print out the QR multiple times, and give it to your friend's for other guests. Do the same for your own Wifi. Now you never have to tell your passwords: To permit your guests to connect, somply show them the QR-Code to scan (and have them delete the network from their devices when they leave, as Android stores Wifi-passwords unencrypted).
Upvotes: 4 [selected_answer]<issue_comment>username_2: Hmm, as said before I am afraid that there is no such setting available. BUT there is a handy little app that lets you create widgets that let you switch your networks with a single tap. So when you realize you are connected to your friend's network, simply press the button on your homescreen and you will be connected to your own network again.

You can find the app here: [Wifi Manager](https://play.google.com/store/apps/details?id=org.kman.WifiManager).
Upvotes: 1 <issue_comment>username_3: Have you tried going to your **wpa\_supplicant** file and changing the priority on the networks?
The settings will be save in regular text and they'll easy to read and figure out.

If you have a [Root explorer](https://play.google.com/store/search?q=root%20explorer&c=apps&docType=1&sp=CAFiDwoNcm9vdCBleHBsb3JlcnoCGACKAQIIAQ%3D%3D%3AS%3AANO1ljIucBM&hl=en) like ES file or any other you can find it by looking here → `/data/misc/wifi/wpa_supplicant.conf`

Note : *Also there are some apps that let you do this if you don't want to try and find the file yourself*
Upvotes: 1


<issue_start>username_0: I have recently rooted my Samsung Galaxy Y phone and installed the Titanium Backup (free version). Anyhow, I am not satisfied with it as many of the features are unavailable and I am asked to get the paid version.

My Question is: Are there any free alternatives to the services offered in Titanium Backup Pro?

I am in particular looking for the **"Convert to user app"** and **"Enable 'multiple profiles' for this app"** features.<issue_comment>username_1: I'm not aware of a full-blown replacement for Titanium Backup, but there are solutions for the specific functions you're after:

Recent versions of [Link2SD](http://www.link2sd.info/) can convert user apps to system apps and vice versa ([available on Google Play](https://play.google.com/store/apps/details?id=com.buak.Link2SD)).

[SwitchMe](http://forum.xda-developers.com/showthread.php?p=21843503) offers a solution for switching among multiple user profiles ([available on Google Play](https://play.google.com/store/apps/details?id=fahrbot.apps.switchme)). The free version is limited to two profiles and "no security features".
Upvotes: 4 [selected_answer]<issue_comment>username_2: >
> Are there any **free** alternatives to the services offered in Titanium Backup Pro?
>
>
>

In the context of software, the word "free" is ambiguous. Do you mean [*libre*, or *gratis*](https://en.wikipedia.org/wiki/Gratis_versus_libre), or both?

The following software packages ostensibly provide functionality that may make them adequate replacements for Titanium Backup Pro, depending on your use case. They are all *free software*. That is, they provide the [four freedoms](https://en.wikipedia.org/w/index.php?title=Free_software&oldid=730117990#Definition_and_the_Four_Freedoms).

* [Amaze](https://f-droid.org/repository/browse/?fdfilter=backup&fdid=com.amaze.filemanager) file manager;
* [oandbackup](https://f-droid.org/repository/browse/?fdid=dk.jens.backup);
* [Team Win Recovery Project (TWRP)](https://en.wikipedia.org/wiki/TWRP).
Upvotes: 1


<issue_start>username_0: According to [Swype's advanced tips page](http://www.swype.com/tips/advanced-tips/):

>
> Switching languages: To switch between the two most recent languages, Swype from the Swype-key to the key with the language initials on it.
>
>
>

Since I updated Swype, the language initials are on the space bar and this tip doesn't work any more. I can still switch languages by long-pressing the space bar but that's a hassle. What's the new quick way to change the language?

Here's a screenshot of the keyboard as it looks like for me:
![Swype keyboard with no dedicated language switching key](https://i.stack.imgur.com/g4GYv.png)<issue_comment>username_1: There is no setting available in any Android ROM that has the battery threshold setting.

From the previous [answer](https://android.stackexchange.com/questions/27589/get-rid-of-battery-low-popup-after-some-delay/27593#27593) given, it is built in.

Only course of option is to roll your own Android build, with the hard-coded value adjusted, but, and is a big but indeed, it is not the recommended route to take, as the code behind Android to handle the battery mechanism varies from chip-set to chip-set and to each and their own manufacturer.

By adjusting it, there could be invariable damage to the battery as a result, since the threshold is specified, by "tweaking" it could affect the battery in the long run and possibly end up shortening the battery life also.
Upvotes: 4 [selected_answer]<issue_comment>username_2: I have a Galaxy S3 and changing the battery threshold had me stumped for a good while as I did manage to change it when I first got the phone.

Here's the answer to how to change the battery threshold on the Galaxy S3:

1. You do not need an app.
2. Simply wait until your GS3 gives you the low battery warning.
3. On your phone's homepage at the top, pull down the notification bar and tap once on the red low battery notification. This will take you to a power saving option page that has the battery threshold options.

**Note:** If you access the power saving options from the settings screen, you DO NOT get the battery threshold option??

I really hope this helps all those like me that just could not find out how to do this.
Upvotes: 0


<issue_start>username_0: I have the Google Authenticator app and I want to log into Stack Overflow with my Google account.

But if I leave the login page from app to look at the authenticator code, the SO application refreshes.

It can't use an application specific password. Any ideas?<issue_comment>username_1: You can't use an app specific passphrase. Stackexchange uses Google as an OpenID provider and that works with access tokens.

To continue/finish the OpenID process you need to be logged in to Google of course (using the regular 2-step passphrase+token method). You will then be asked if you want to grant access by Google and the app will get an access token.
Upvotes: 2 <issue_comment>username_2: You can successfully reopen the Stack Exchange in the state of asking for Google account's code of authentication, if:

* Open Authenticator, and memorize/copy..., the 6 digit number.
* Open the **App Drawer** *(not the recent used list access by pushing home button for a while!)*
* Select the internet browser from there.
* Now you should have the browser in the state you left it *(waiting for the 6 digit number)*

Although this is a solution to ***(Not being able to introduce the 6 digit code)***, it won't solve the problem of Stack Exchange app inability to save your login credentials.
Upvotes: 1


<issue_start>username_0: I don't have good cell reception in my house and I'd to have my Google Voice number forward to my phone on Wi-Fi when I'm home. Can I just use Google Voice or do I need a third-party app to do the connection?<issue_comment>username_1: You need a third-party app to recieve Wi-Fi calls.

Two popular apps are [GrooVeIP](https://play.google.com/store/apps/details?id=com.gvoip) (paid & free) and [Talkatone](https://play.google.com/store/apps/details?id=com.talkatone.android) (paid). You could also set up [Sipdroid](https://play.google.com/store/apps/details?id=org.sipdroid.sipua) (free), which will set up the SIP forwarding using pbxes.com. Or you could use a number of other SIP apps and set up forwarding yourself, but that gets a bit convoluted.
Upvotes: 3 [selected_answer]<issue_comment>username_2: Yes, you can.

But the only GV function on Wi-Fi alone without some SIP server help will be texting and getting voicemail just like you can also get email over Wi-Fi.

I tried what you're doing last year just to get it to work. Using a free pbx service over the internet and GV, I was able to make calls over Wi-Fi. You need a SIP server or some VOIP server to 'find' your number over IP communication.

You could use Skype to do that also.
Upvotes: 0 <issue_comment>username_3: third party call apps for receiving calls via google voice have now been disabled. maybe GV will make an update to this. but with buzz about them phasing voice out.. who knows.
Upvotes: -1


<issue_start>username_0: I'm using Tasker, and maybe I'm just trying too hard, but I can't seem to set up multiple conditions in the way that I want to. Here's what I'm trying to do:

From M - F (8AM - 5PM), set the phone to silent mode... which is pretty easy. After 5PM rolls around though, I want to kick on the GPS/Network location listener.

If I have left the office, then I want to go ahead and switch off the silent profile, and back to normal. If I haven't yet left the office, I'd like the task to sleep for 15 minutes, and then try again (sometimes I work late).

It's the combination of these two separate tasks that I cannot seem to make work together. Can anyone help me out here?<issue_comment>username_1: Now with your latest details, a raw approach. As you are on a stock ROM, switching GPS might not work out-of-the-box. In case it doesn't work, take a look at the [Secure Settings](https://play.google.com/store/apps/details?id=com.intangibleobject.securesettings.plugin) plugin, which should be able to help out.

I assume your raw concept is: 8am to 5pm is work time, and you want different settings during work hours and after leaving work, considering eventual late-work issues. So this should preferably turn out as a single profile: *At work do...* and *After work switch to...*. So here's what shoud *basically* work:

---

Profile "Work":
---------------

**Condition:**

* Time from 8am Till 5pm

**Task:**

* Audio -> Silent Mode: On

**Exit Task:**

* Misc -> GPS: On (might need to be replaced by *Secure Settings*, see above)

Now we enter a second profile, and you probably do not even need GPS:

Profile: "AfterWork":
---------------------

**Condition:**

* State -> Tasker -> Profile Active: "Work" [x] Invert
* State -> Phone -> Cell Near: (Scan your work cells) [x] Invert

**Task:**

* Audio -> Silent Mode: Off

---

So you see you neither need GPS nor the 15min wait loop. At 8am the "Work" Profile gets active, and switches your phone to silent mode. As you do not really need GPS, you can define some dummy Exit Task here (e.g. again switching Silent Mode on), as otherwise Tasker would automatically revert to the "before" mode.

The second profile does not even check conditions before "Work" has completed, as Tasker remembers which Profiles are active. After that, it starts monitoring the surrounding mobile cells -- which are either known by the phone as needed for telephony. If none of the surrounding cells match any of the scanned cells, the attached task is executed and Silent Mode turned off.

But why so complicated? Much easier done like this:

---

Profile "Work":
---------------

**Condition:**

* Cell Near (Scan your work place mobile cells)

**Task:**

* Audio -> Silent Mode: On

---

Done. No matter what time you are at work, your phone will be silent. And no matter whether you leave work early or late, Silent Mode will be switched off.
Upvotes: 4 [selected_answer]<issue_comment>username_2: Although this question is already answered, and accepted, I would like to add to it.

Sounds like what you want is pure location-based profiles. Tasker is very powerful, but if you are willing to try an alternative, there is [Llama](https://play.google.com/store/apps/details?id=com.kebab.Llama&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5rZWJhYi5MbGFtYSJd). It is roughly the same as tasker, except that almost every action is location-based. It 'learns' a location you want to set up (like home), by scanning the antennae of the mobile network in the immediate area. That is a lot more energy-efficient than using GPS.

For the things you want to set up, Llama will be much simpler to configure. Let the phone learn the places you want to use in your conditions, and add one or more actions. E.g. "leave home" -> do "enable bluetooth" "disable wifi".

You won't have to worry about timings, as the profiles only change when you physically, actually move to or from a location.

Give it a try.

PS: I am not affiliated.
Upvotes: 3


<issue_start>username_0: Is it possible to prevent the automatic reboot that follows

```
fastboot -w image.zip

```

? This would be quite useful for batch files. Thanks for any hint :-)<issue_comment>username_1: ```
usage: fastboot [  ]

commands:
 update  reflash device from update.zip
 flashall 'flash boot' + 'flash system'
 flash  [  ] write a file to a flash partition
 erase  erase a flash partition
 getvar  display a bootloader variable
 boot  [  ] download and boot kernel
 flash:raw boot  [  ] create bootimage and flash it
 devices list all connected devices
 reboot reboot device normally
 reboot-bootloader reboot device into bootloader

options:
 -w erase userdata and cache
 -s  specify device serial number
 -p  specify product name
 -c  override kernel commandline

```

I think it's safe to assume that the options listed here are the options you have available to you when running the `fastboot` binary. Since there doesn't seem to be an override as a **native** function of `fastboot`, your only solution would be to access the source code of `fastboot` (if available) and remove or alter the part of the code where the device reboots.

Note that there might be very good reasons as to why the device reboots at that stage, so I'd be careful with messing around with it.
Upvotes: 3 [selected_answer]<issue_comment>username_2: I believe you're looking for the "--skip-reboot" switch, ex:

```
fastboot -w update image-marlin-opm1.171019.012.zip --skip-reboot

```

C:>fastboot --help

```
commands:
  update  Reflash device from update.zip.
 Sets the flashed slot as active.
 flashall Flash boot, system, vendor, and --
 if found -- recovery. If the device
 supports slots, the slot that has
 been flashed to is set as active.
 Secondary images may be flashed to
 an inactive slot.
 flash  [  ] Write a file to a flash partition.
 flashing lock Locks the device. Prevents flashing.
 flashing unlock Unlocks the device. Allows flashing
 any partition except
 bootloader-related partitions.
 flashing lock\_critical Prevents flashing bootloader-related
 partitions.
 flashing unlock\_critical Enables flashing bootloader-related
 partitions.
 flashing get\_unlock\_ability Queries bootloader to see if the
 device is unlocked.
 flashing get\_unlock\_bootloader\_nonce Queries the bootloader to get the
 unlock nonce.
 flashing unlock\_bootloader  Issue unlock bootloader using request.
 flashing lock\_bootloader Locks the bootloader to prevent
 bootloader version rollback.
 erase  Erase a flash partition.
 format[:[][:[]]
 Format a flash partition. Can
 override the fs type and/or size
 the bootloader reports.
 getvar  Display a bootloader variable.
 set\_active  Sets the active slot. If slots are
 not supported, this does nothing.
 boot  [  [  ] ] Download and boot kernel.
 flash:raw   [  [  ] ]
 Create bootimage and flash it.
 devices [-l] List all connected devices [with
 device paths].
 continue Continue with autoboot.
 reboot [bootloader|emergency] Reboot device [into bootloader or emergency mode].
 reboot-bootloader Reboot device into bootloader.
 oem  ...  Executes oem specific command.
 stage  Sends contents of  to stage for
 the next command. Supported only on
 Android Things devices.
 get\_staged  Receives data to  staged by the
 last command. Supported only on Android
 Things devices.
 help Show this help message.

options:
 -w Erase userdata and cache (and format
 if supported by partition type).
 -u Do not erase partition before
 formatting.
 -s  Specify a device. For USB, provide either
 a serial number or path to device port.
 For ethernet, provide an address in the
 form :[:port] where
  is either tcp or udp.
 -c  Override kernel commandline.
 -i  Specify a custom USB vendor id.
 -b, --base  Specify a custom kernel base
 address (default: 0x10000000).
 --kernel-offset Specify a custom kernel offset.
 (default: 0x00008000)
 --ramdisk-offset Specify a custom ramdisk offset.
 (default: 0x01000000)
 --tags-offset Specify a custom tags offset.
 (default: 0x00000100)
 -n, --page-size  Specify the nand page size
 (default: 2048).
 -S [K|M|G] Automatically sparse files greater
 than 'size'. 0 to disable.
 --slot  Specify slot name to be used if the
 device supports slots. All operations
 on partitions that support slots will
 be done on the slot specified.
 'all' can be given to refer to all slots.
 'other' can be given to refer to a
 non-current slot. If this flag is not
 used, slotted partitions will default
 to the current active slot.
 -a, --set-active[=] Sets the active slot. If no slot is
 provided, this will default to the value
 given by --slot. If slots are not
 supported, this does nothing. This will
 run after all non-reboot commands.
 --skip-secondary Will not flash secondary slots when
 performing a flashall or update. This
 will preserve data on other slots.
 --skip-reboot Will not reboot the device when
 performing commands that normally
 trigger a reboot.
 --disable-verity Set the disable-verity flag in the
 the vbmeta image being flashed.
 --disable-verification Set the disable-verification flag in the vbmeta image being flashed.
 --unbuffered Do not buffer input or output.
 --version Display version.
 -h, --help show this message.

```
Upvotes: 2


<issue_start>username_0: When I connect my Android 4 phone (Galaxy Nexus) to a computer using USB, the storage of the phone is automatically mounted on the computer. How can I connect my phone using USB for charging only? In Android 2.x I had to explicitely choose "USB storage", in Android 4 there is only the choice between MTP and PTP? ):<issue_comment>username_1: When your phone is plugged into a computer there should be a USB symbol in the notifications bar. Tapping the notification associated with this should allow you to switch between MTP/PTP (whichever you have selected in settings) and "just charge".

EDIT: apologies, it looks as though this is an HTC-specific thing, and not general. I'm new here - should I leave this answer with this edit, or delete the answer?
Upvotes: 1 <issue_comment>username_2: I have an HTC desire X. What I do is to put a password on my phone and just plug it in without unlocking the screen, which lets the phone charge without giving someone on the computer the ability to open your files. Hope that helps.
Upvotes: 1 <issue_comment>username_3: Strictly speaking as long as you leave the data lines open the behavior depends on the phone *and* the computer you plug it into. Your best option would be hardware-only to make sure that the computer doesn't get to see any of the data.

A recently funded Kickstarter project named LockedUSB aims to provide exactly that, also in light of potentially malicious "charging stations" in public places. I'm not linking it since that may be considered spam and that's certainly not the intent behind this answer. A web search can lead the way to them.

From their description:

>
> LockedUSB is an small adapter that allows secure charging of your
>  personal devices. It physically disconnects the data lines, while
>  keeping intruders away from your personal information.
>
>
>

With this kind of solution you will also avoid bad surprises when you forget to switch something off in software on the phone and thereby involuntarily expose your device. Aside from that it's a generic solution that will work without software support on either side and gives you the peace of mind you seem to be looking for when charging your device in other peoples' computers.

Disclosure: I am one of the funders of the above mentioned project on Kickstarter.
Upvotes: 0


<issue_start>username_0: How can I remove an app from wishlist? I clicked the add to wishlist button by mistake..
I'm looking for this but i can't find, is there a way?

I tried to unistall the app, search in the app page and others places like the wishlist itself.<issue_comment>username_1: If you go into the play store item that you added to your wishlist and click the same icon that you used to add it to the wishlist it should remove it.
Upvotes: 2 <issue_comment>username_2: Well, i couldn't resolve my problem but after contacting Google's support here some potencial answers for some users.

**Clean Google Play and Download Manager Cache**

For Google Play:

1. Visit `Menu > Settings > Applications > Manage applications`
2. Tab over to "All"
3. Select the Play Store app, and then tap "Clear cache" and "Clear data"

For the Download manager:

1. Visit `Menu > Settings > Applications > Manage applications`
2. Tab over to "All"
3. Select "Download manager," and then tap "Clear data" and "Clear cache"

**Uninstall updates from Google play**

1. Go to "Home" > "Menu" > "Settings" > "Applications" > "Manage applications"
2. Touch the "All" tab
3. Scroll down and select the Play Store app
4. Touch "Uninstall updates"

This will revert Google Play to the original version that came with your device. Google Play should automatically self-update to the current version within a few days - there's no way to permanently uninstall updates. However, you can perform the following steps to ensure the latest version of Google Play is updated properly:

1. Launch Google Play
2. Switch to the Home screen
3. Wait 5-10 minutes for the app to self-update
4. Re-launch the Google Play Store app

After that the support couldn't help me anymore..

I believe my problem is a bug, so maybe in future versions it'll be fixed, anyway when I accomplish this, I'll post here.

**EDIT:**
Google Play Store updated to 3.10.9 and now each wishlist item has like a remove icon besides it, so you click there and it's removed! Nice and easy.
Upvotes: 1 [selected_answer]<issue_comment>username_3: I have tried many things (clearing Play data, clearing cache, uninstall, force stop restarting the device) and finally found a solution:

Use Google Chrome and open two tabs.

1. In the first tab open the new Apps and click **Add to Wishlist**
2. In the second tab open the app that cannot be removed from the wishlist
3. Right click at second tab then click **Inspect element**
4. In **Elements** right click and click **Edit attribute** at **data-docid** and **data-server-cookie**, copy the value in **Notepad**
An example **data-docid** is com.noodlecake.blockheads and **data-server-cookie** is CAIaIwohEh8KGWNvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
5. Goto 1st page right click at button **Added to Wishlist** and click **Inspect element**
6. In 1st page **Elements**, use **Edit attribute** replace all the **data-docid** and **data-server-cookie** values with the 2nd page **data-docid** and **data-server-cookie** values
7. Now you can click **Remove** wishlist on the first Chrome tab.
Upvotes: 2 <issue_comment>username_4: Go to Google play. Search for the application you're trying to remove. When the page loads, you should see a ribbon-shaped icon in the upper right-hand corner. There should be a check mark. Click it. The icon should change into a plus ("+") symbol. Check the wishlist. The item should be gone.
Upvotes: 2


<issue_start>username_0: I’m Sabbath-observant, and in my tradition that includes not manipulating electronic devices.

I set the alarm clock on my new phone for a convenient wake-up time, and expected the alarm to eventually turn off on its own as other alarm clocks do. It didn’t; it was beeping—ten minutes on, ten minutes off—until nightfall when I could turn it off.

Is there a setting, or an alternate alarm clock app, that will turn the noise off after some specified time of being ignored?<issue_comment>username_1: There are a lot of alarm clocks around, and B"H one of them should solve your issue.

I'm using [AlarmDroid](https://play.google.com/store/apps/details?id=com.splunchy.android.alarmclock), which in its "advanced settings" has an option saying "rings max 10 minutes" (set by default), and just below a checkmark for "change to snooze-mode afterwards" (also enabled by default) -- so you could disable snooze mode, which would solve your issue (as the alarm would automatically turn off after 10 minutes).

Though I'd prefer to have snooze mode, plus an option to say "stop the alarm after xx if the user did not respond" -- some other app may have that, or it could be requested of the developer. The argument of "shomer shabbat" may be convincing for him (as pointing to a group of interested customers which might chose his Pro version for this feature).

**EDIT:** while searching for something else, I just stumbled upon [Shabbos Alarm](https://play.google.com/store/apps/details?id=com.customprogrammingsolutions.ShabbosAlarm). The name alone seems to answer your question, doesn't it? It allows you to...

>
> [...] set multiple alarms, choose which ringtones you want to ring, and **set how long the alarms will ring for**.
>
>  It works perfectly whether you call it Shabbos Alarm, Shabbat Alarm, Shabbis Alarm, or any other kind of Alarm for that matter :-)
>
>
>

Didn't try it out (yet), but thought you might be interested to hear about...
Upvotes: 3 <issue_comment>username_2: The feature I was looking for is called (on the apps I’ve found that have it) “auto-dismiss”. I’m trying [Alarm Clock Xtreme Free](https://play.google.com/store/apps/details?id=com.alarmclock.xtreme.free), which offers this feature; if I’m happy with it I’ll upgrade to the paid version.
Upvotes: 4 [selected_answer]


<issue_start>username_0: Is there any way to quit the eBay app, so that I stop receiving all these event notifications? I like notifications, but only when I decide to run the eBay application...<issue_comment>username_1: Since Jelly Bean (Android 4.1), it's possible to disable notifications for individual apps. Long-press on the notification and go to `App Info` or go to `Settings -> Apps` and then choose the eBay app. Uncheck the `Show Notifications` checkbox (detailed description with video [here](http://howto.cnet.com/8301-11310_39-57467781-285/how-to-turn-off-notifications-for-an-app-in-android-4.1-jelly-bean/)).

Notifications are most useful if an app needs your attention but is currently not in your focus. So i don't think there is a system setting that allows to stop notifications when the app is closed and to reactivate them if the app is started.

Maybe you can send a feature request if that setting would make sense for this individual app. You can contact their mobile support team, find out how [on google play](https://play.google.com/store/apps/details?id=com.ebay.mobile).
Upvotes: 3 <issue_comment>username_2: Do it in the app directly:

>
> eBay app (home screen) -> settings (below *WOW* list entry) -> notifications -> none
>
>
>
Upvotes: 3 [selected_answer]


<issue_start>username_0: I was wondering if I could programmatically backup my Android phone's settings. The "PHONE"'s settings and not application settings.<issue_comment>username_1: The easiest way availaboe to you is using a third party app. I found [My Backup Pro](https://play.google.com/store/apps/details?id=com.rerware.android.MyBackupPro) (there is a free version as well) which seemed promising.

You can also search he market for settings backup.

I use an system app provided by the manufacturer which is called backup and restore. I'll give them if the mentioned solution does not work for you. The reason im asking you to go with the first app is that the manufacturer's system app is highly unlikely to work properly ina device other than the one is originally made for.
Upvotes: 0 <issue_comment>username_2: If your phone is an LG, it's easy to do that with LG backup. To backup your phone's settings, go to Settings - LG Backup [in list mode] - Backup. Unselect everything except settings, and click backup.

If not, try Titanium Backup.
Upvotes: 0 <issue_comment>username_2: If you know the location of the settings database, you can use [LlamaLab's Automate](https://llamalab.com/automate/) to copy app data within the application itself, even in the root directory.
Upvotes: -1


<issue_start>username_0: Okay, so basically the Google Play store search is only for typing in the exact name of the app you already know and want to install.

Every time I look for an app with certain functionality, I'm having great problems in finding it. Usually the results contain tons of spam applications and very few of useful ones, or ones actually fitting the search keywords I used. Sometimes I find the apps I was looking for while browsing the store (hundreds of pages...) or digging through "top xx apps for yy" sites that usually come as a result of a regular google search.

**My question is** - are there any alternatives? How do I search for Android apps that do what I want them to do without digging through hundreds of pages of crappy, unrelated apps at Google Play or reading lists of hundreds of apps on silly web pages whose sole purpose is advertisement? I've read that there once was something called Chomp, but it seems like it doesn't exist any more (not sure, I think Apple bought it).<issue_comment>username_1: There are some alternative front-ends to the Google Play store, like [AppBrain](http://www.appbrain.com/), [AndroidZoom](http://www.androidzoom.com/) that use a totally different search engine, and index apps differently, you may have different results if you search on there for your apps.

See also this previous question for some more info: [What are the alternative Android app markets?](https://android.stackexchange.com/questions/216/)
Upvotes: 2 <issue_comment>username_2: Try combined search words to narrow down the result list. If you e.g. look for an alarm reminder, ["alarm reminder"](https://play.google.com/store/search?q=alarm+reminder&c=apps) gives you 1.000+ results -- while ["alarm-reminder"](https://play.google.com/store/search?q=alarm-reminder&c=apps) (note the "minus" replacing the space) shrinks it to 48, relating to both terms (and not just either one of them).

Sometimes also the rules from Google's main search engine apply here (I could not yet figure out when they do and when they don't). So "alarm +reminder" should list only apps whose name/description contains *both* terms -- while "alarm -reminder" should list only those containing "alarm" but not "reminder". As said, this works *sometimes*, while the first rule mentioned seems to work *always*.

I just tested it, and surprisingly even some more advanced keywords work: ["clock +intitle:alarm"](https://play.google.com/store/search?q=clock+%2Bintitle%3Aalarm&c=apps) really lists only apps having "alarm" in their name (and "clock" in their name or description; though this I did not verify completely). I suspect the playstore search is just a "customized Google search" -- so you might play with other "tipps and tricks" from its "big brother".
Upvotes: 4 [selected_answer]<issue_comment>username_3: I abandoned Google Play because:

* Downloads get aborted on network interruption
* Loading of app details is slow
* Screenshots of apps are not clear on the small display

Now I use the following apps:

Mobogenie
=========

* Good for browsing and downloading apps, even on slow and interrupted internet connection
* Zoomable screenshots allow viewing details clear on small devices

F-droid
=======

* Easily install open sources apps
* Offline browsing
* Multi-version download

Aptoide
=======

* Multiversion support

After installing some apps, I just realised they are not working as advertised by the developer. Some apps didn't even launch. In most cases, this is due to a bug introduced while adding new features to the app. Downgrading to an older version fixes this. Aptoide allows doing so by navigating to the multi version tab.

1mobile
=======

* For searching apps from lots of stores
* Even paid apps can be searched and then opened in Google Play using the share menu
* Apps can be downloaded directly from their website (info: they provide two links one for the current app and the other for their marker app with the same name)
Upvotes: 1 <issue_comment>username_4: **With App Finder, there is now an advanced search engine designed to find the best apps with a specific functionality.**

It searches the descriptions of 2,300,000+ apps from Google Play, with data for all 200+ countries.

With an advanced search language and many filters, it makes it often possible to refine the search to a point where all remaining results can be examined in a few minutes, as I show [here](https://forum.xda-developers.com/t/app-6-0-app-finder-the-most-advanced-search-engine-for-android-apps.4578809/post-88673067).

Available from Google Play [here](https://play.google.com/store/apps/details?id=scadica.aq).

For more information see the [thread on XDA](https://forum.xda-developers.com/t/app-6-0-app-finder-the-most-advanced-search-engine-for-android-apps.4578809/), and [here](https://skyica.com/).

***Disclosure: I am from Skyica LLC, the developer of App Finder***

[![enter image description here](https://i.stack.imgur.com/1OgfW.jpg)](https://i.stack.imgur.com/1OgfW.jpg)

[![enter image description here](https://i.stack.imgur.com/Tqn8n.jpg)](https://i.stack.imgur.com/Tqn8n.jpg)
Upvotes: 0


<issue_start>username_0: Is there an app which can record
audio (to mp3) from the FM radio (**NOT** internet-radio).

I want to record some shows while listening to the radio and store them in my SD memory card but I can't seem to find any suitable application.

My phone is a Huawei U8150 and I'm using Android 2.1.<issue_comment>username_1: The [Spirit FM Radio Unlocked](https://play.google.com/store/apps/details?id=com.mikersmicros.fm_unlock) has slight support for recording. Most of it is experimental however.

There are no other tuned FM radio apps on the market, that run on all devices.

The only way to get full FM recording facilities, is if your OEM puts this feature into the stock FM radio app.
Upvotes: 1 <issue_comment>username_2: Android's doesn't have an integrated FM radio functionality (API), if a device features FM support, it was added by the manufacturer.

Because of that there's no standard way to access it via 3rd party apps. You can try this [app](https://play.google.com/store/apps/details?id=com.tarsys.fmradiorecordertest) but your mileage may vary.
Upvotes: 2


<issue_start>username_0: I have the Galaxy S3, and I'd like to watch YouTube videos during my commutes. I like to watch long videos (around 1 hours), so I have no more than 1 video per commute.

However, youtube video takes a lot of bandwidth and I have a cap on data usage. Besides, connection outside during peak hours tend to be slow, which makes the video pause to download a lot of times.

Is it possible to pre-download a video at home (using my Wi-Fi, which is faster and has no data cap), and watch it on the way? I tried pausing it at home and let it download, but whenever the phone sleep (it sleeps often!), or the application switch from youtube to anything else, it seems all previous download will be lost.<issue_comment>username_1: There's a Python script floating around called `youtube-dl` (*which is an [open source project](http://rg3.github.com/youtube-dl/)*), an example invocation would be something like this:

`youtube-dl https://www.youtube.com/watch?v=O1MIVOTstF0`

depending on the video format, either `MP4` or `flv`, the file would be saved to disk as '*O1MIVOTstF0.mp4*' or '*O1MIVOTstF0.flv*'.

It is cross-platform friendly, and can run under any environment *provided* the [Python](http://www.python.org/) run-time is installed.

Then push that across using a video player on the handset to play the youtube video - that is off-line, thereby minimizing data caps limit.

***Addendum*** Am not 100% sure if Android has a video decoder for flv format... so that is an open ended question depending on what video player can support it.
Upvotes: 1 <issue_comment>username_2: **Update:**

YouTube has removed this feature. [Source](https://www.reddit.com/r/Android/comments/239rtl/google_removes_preloading_features_with_new/)

---

YouTube's official app allows you to preload a video. You can either preload all your subscription or the videos you have added to watch later.

When your phone is connected to WiFi and charger, Youtube automatically pre-loads them.

Open Youtube -> Settings -> Preloading

One thing to note is that this still requires data connection to view the pre-loaded video. It won't download the videos but it does something (may be verification) before showing pre-loaded videos.

Read more at support [doc](http://support.google.com/youtube/bin/answer.py?answer=2640704)

![Source: ](https://i.stack.imgur.com/Nt2Ilm.jpg)
Upvotes: 4 <issue_comment>username_3: Assuming you also have a PC at home, most modern browsers have extensions that will allow you to download a YouTube video, which you could then side load to your S3 and watch in airplane mode, if you liked. I know Opera has an extension that allows YouTube downloads and I assume other browser do too.
Upvotes: 1 <issue_comment>username_4: Any chance that [TubeMate](http://tubemate-youtube-downloader.en.softonic.com/android) might do the trick?

Just download them over wi-fi and watch 'em on the go. I find it too hard to view a video on a small screen for too long, but this might do the trick.
Upvotes: 1 <issue_comment>username_5: There is a new app called [TubeDroid](https://www.tubedroid.net/) that will enable you to download videos to your device, rather than preloading them.
Upvotes: 0 <issue_comment>username_6: There are a couple on the Google Play Store. Search for [`youtube mp3`](https://play.google.com/store/search?q=youtube%20mp3&c=apps) and you will find them.

Best one I found is [MP3/Video Downloader - Grab It](https://play.google.com/store/apps/details?id=grab.it.free).

It's really simple to use. You can search YouTube and then download music in video or MP# format. Really nice app!
Upvotes: 1


<issue_start>username_0: Some devices (like my Nexus 4) don't have an external slot for an SD Card. Instead, there's a root folder called `/sdcard/` that is treated the same way. But I also find other paths that all point to the same files -- there must be some kind redirects going on (I think this is called *symlinks* in Linux).

All these paths contain the same files:

```
/sdcard/
/storage/sdcard0/
/storage/emulated/0/
/storage/emulated/legacy/

```

Which path is the "actual" one? What about the other paths? What are they used for, why do they exist?<issue_comment>username_1: Recommended lecture: [Why did /sdcard/ turn into /sdcard/0/ with 4.2?](https://android.stackexchange.com/questions/35541/16575).

In short: It has to do with the multi-user functionality introduced with Jelly Bean:

* `/storage/emulated/0/`: to my knowledge, this refers to the "emulated MMC" ("owner part"). Usually this is the internal one. The "0" stands for the user here, "0" is the first user aka device-owner. If you create additional users, this number will increment for each.
* `/storage/emulated/legacy/` as before, but pointing to the part of the currently working user (for the owner, this would be a symlink to `/storage/emulated/0/`). So this path should bring every user to his "part".
* `/sdcard/`: According to a [comment by Shywim](https://android.stackexchange.com/questions/39542/#comment-53772), this is a symlink to...
	+ `/mnt/sdcard` (Android < 4.0)
	+ `/storage/sdcard0` (Android 4.0+)
* `/storage/sdcard0/`: As there's no `legacy` pendant here (see comments below), the "0" in this case rather identifies the device (card) itself. One could, eventually, connect a card reader with another SDCard via OTG, which then would become `/storage/sdcard1` (no proof for that, just a guess -- but I'd say a good one)

Though one might get to the conclusion there should be a `/storage/sdcard/legacy` as well, there isn't (see comments) -- which completely makes sense with my assumption of the numbers here are not related to the user, but rather to possible multiple cards: "0" would always be the one in the card-slot of the device, so no need for a "legacy symlink" here.
Upvotes: 6 [selected_answer]<issue_comment>username_2: Yea a bit confusing but these are alternate paths for the memory layout

/mnt/sdcard0/ (Internal Virtual SD Card)

and username_1 your correct if more devices are connected, but the naming could be different depending on device.

ex. /mnt/sdcard1/ (Physical SD Card in SD slot)

but other devices such as a Usb flash drive connect with an adapter could be called

/mnt/media\_rw/usbdisk (android kitkat 4.4 and above?)
or /mnt/usbdisk (jellybean 4.1 - 4.2)
Upvotes: 2


<issue_start>username_0: With the command `adb pull /sdcard/` I can copy all the contents of the internal memory of my Android phone into my current local directory.

And `adb pull /mnt/extSdCard/` does the same with the external SD card. But that command always copies everything, even files I already have stored locally.

Is there any way to copy only new and modified files? (files with a **newer date**)<issue_comment>username_1: `adb pull` [doesn't seem to provide a flag to pull selected files](http://developer.android.com/tools/help/adb.html).

As a workaround, you can do this: Use `adb shell [Unix shell command]` to copy selected files to a temporary location and then pull all files from that location.

**Update:**

You can use `cp -u [source] [destination]` unix shell command to copy only modified files on subsequent run. You can also use `-r` flag to use it on subdirectories recursive, if its required.
Upvotes: 2 <issue_comment>username_2: As described by ss-3-1415926535897932384626433 there is no flag, but you have to get a list of files first and then check if your local files match. I wrote a little script for it:

```
#!/bin/sh

rfolder=/sdcard/DCIM/Camera
lfolder=Camera

adb shell ls "$rfolder" > android.files

ls -1 "$lfolder" > local.files

rm -f update.files
touch update.files

while IFS=  read -r q; do
  # Remove non-printable characters (are not visible on console)
  l=$(echo ${q} | sed 's/[^[:print:]]//')
  # Populate files to update
  if ! grep -q "$l" local.files; then
    echo "$l" >> update.files
  fi
done < android.files

script_dir=$(pwd)
cd $lfolder

while IFS=  read -r q; do
  # Remove non-printable characters (are not visible on console)
  l=$(echo ${q} | sed 's/[^[:print:]]//')
  echo "Get file: $l"
  adb pull "$rfolder/$l"
done < "${script_dir}"/update.files

```

Adjust the remote folder `rfolder` and the local folder `lfolder` to locations of your own choice.
Upvotes: 3 <issue_comment>username_3: adb-sync - small, yet powerfull python script that can do all your asked and more...
<https://github.com/google/adb-sync>
Upvotes: 4 [selected_answer]<issue_comment>username_4: Though not fully documented, starting with 27.0.1 aka platform tools r27 (not before) the following can be used:

```
adb push --sync local/ device/
# adb pull --sync -a device/. local/

```

(note the trailing dot on `adb pull`; without that you'd end up with `local/device/*`, [see here](/q/250128/16575); also the `-a` is needed only here to keep the timestamps of the files intact)

Not directly related to `adb push`: file permissions are not kept, which is probably due to the file system used. Files pushed to the internal SD card will always be set to `0660` and on the external card to `0771`, which I could not even change using `adb shell chmod` on the device itself (though I received no error either on trying).

If you need more options as you might know them from `rsync` (e.g. `--delete` or `--exclude`), you can also take a look at the Python script [better-adb-sync](https://github.com/SelfAdjointOperator/better-adb-sync).

**Update:** running a few tests it seems `--sync` is simply ignored with `adb pull` even if no error is thrown: **newer files on target have been overwritten!** Not sure if implementation is planned, but with r27 being released in 2018 I'd not place a bet on that. With `push` it works as advertized, though.
Upvotes: 2


<issue_start>username_0: I use the Amazon *Kindle Fire* (Android 2.3.4) model no: `D01400 FCCID:ZEV-1229`. I use this device in developing Android apps.

In my device WiFi is available, and also cyberoam for security purposes. I want to test the device is connected or not connected with WiFi.

I know if you want to check the network connection and you have cyberoam then you want put your device in airplane mode. How can I do that?<issue_comment>username_1: On the original Kindle Fire Airplane mode does not seem to exist, but you can turn off wireless using these directions:

1. Tap the Quick Settings (the Gear) icon in the top right hand corner of the Home screen.
2. Tap **Wi-Fi**.
3. Ensure Wireless Networking switch is in the **off** position.

On the new Kindle Fire you can enable airplane mode by doing the following:

1. Swipe down from the top of the screen and tap **Wireless**.
2. Tap **On** next to Airplane Mode
Upvotes: 1 <issue_comment>username_2: There is a metric boatload of [Airplane Mode apps on the Play store](https://play.google.com/store/search?q=airplane%20mode&c=apps). You might find one there that meets your needs.
Upvotes: 0


<issue_start>username_0: What if you accidentally deleted some important apps and can't install them back because Google Play doesn't have them? For example android system, com.android dun server and com.android.lgsetup wizard (i.e. basically apps that are originally there).
And every few seconds this message will appear:

>
> "Sorry! The process com.android.phone has stopped unexpectedly. Please
>  try again."
>
>
>

And I cannot even go the browser or Task Killer because every time I do, it will force quit. How can I reinstall those apps? I think I cleared all data for those but I did not clear the browser and so why can't I open the browser?

Do I really need to send it for repair or can I fix it?<issue_comment>username_1: For common system apps like the ones you've mentioned, there's no way to uninstall or reinstall them: without root, it at all you can disable them (not all of them even). But they are usually not held in the playstore for re-installation. Even if they receive updates via the playstore (like GMail, Maps, and the Playstore app itself), some of them must reside on the `/system` partition in order to function correctly (the *Google Play* app is one example for that).

But as the same situation could also apply to "normal apps", let's take a closer look:

User apps
---------

Though they are usually coming via *Google Play*, it might well happen they get removed there one day (recent examples are the ad-blockers which got banned). For this, tools like [AppMonster](https://play.google.com/store/apps/details?id=de.android_telefonie.appmanager) come in handy: they enable you to store a copy of the apps `.apk` file to your SDcard (the Pro version even can do so automatically whenever an app is installed/updated). So in case you have to remove an app for some reason, and want to re-install it later (or even if you want to install the same app on a device without Google account), you can do so by [side-loading](/questions/tagged/side-loading "show questions tagged 'side-loading'") the `.apk`. Uninstallation, of course, is easily done either via *Settings→Apps*, or even via *AppMonster* itself.

System apps
-----------

Here it's a lot different. Without root, you can at maximum disable an app (*Settings→Apps*, scroll to the app, open its details, press the *Disable* button) -- if your device is running Android 4.0 or later, that is.

With root, things become a little different: theoretically, you could uninstall everything. A practical issue might be you're rendering your device unusable, if you e.g. uninstall something basic to the system. Also, removing their data might be an issue on re-install. So if you really have need for this, here's my recommendation:

1. Get ADB installed on your computer (either via the [full Android SDK](http://developer.android.com/sdk/) -- or using a minimal installation, see [Is there a minimal installation of ADB?](https://android.stackexchange.com/q/42474/16575)
2. Make a backup of the app you're going to uninstall to be prepared in case something goes wrong. You can use `adb backup` for this, which backs up the app including its data.
3. Make a copy of the app's `.apk` file for a re-install. You can use `adb pull` for this. The `.apk` is located in `/system/app`, so your command could look like `adb pull /system/app/Browser.apk .` to copy the browser's `.apk` from the device to the current directory on your computer.
4. Now that you have two fall-backs, you can try to uninstall the app. Again using ADB, you first call `adb shell`, then you need to become root (`su`), and now you can use the `pm` (package manager) tool to `pm uninstall com.package.name`. You can also remove the `.apk` from `/system/app`.

To re-install the app, you simply copy the `.apk` back to `/system/app`. To restore the data, you can use `adb restore`.

Note that dealing with system apps always bears the risk to render your system unusable. So it's always recommended to make a complete backup (best using Nandroid backup from your custom recovery) *prior* to such operations -- so in the worst case, you can go back to where you've started.

Dealing with the "The process X has stopped unexpectedly" error
---------------------------------------------------------------

There are several ways to deal with this error. To my knowledge, none of them includes uninstalling a system app.

* if the app in question is a user app
	+ delete its cache. If that doesn't help:
	+ delete its data. If that still doesn't help:
	+ delete the app. If that cannot be done due to the app being in a "force-close-loop":
	+ boot into [safe-mode](/questions/tagged/safe-mode "show questions tagged 'safe-mode'"), and delete the app from there.
* if the app in question is a system app:
	+ pray you've got a good backup :)
	+ as with the user app: first try delete cache, then data.
	+ nothing goes? Then you've got to do a [factory-reset](/questions/tagged/factory-reset "show questions tagged 'factory-reset'")
Upvotes: 2 <issue_comment>username_2: The best thing to do is to make a backup, and do a factory reset.
Upvotes: -1


<issue_start>username_0: I need a specific command line tool and I have made a C program in my Linux shell. I have compiled the program with an ARM cross-compiler. I have then moved the program into the Android file system and tried to run it.

The output is permission denied.

What do I have to do, in order to run my own compiled programs in Android file system?<issue_comment>username_1: I assume that you used adb push for uploading your executable to the sd-card. Unfortunately the sd-card is always mounted with "noexec" which means that you can't execute anything from here.

Therefore you have to copy the executable to the local filesystem, e.g. to /data/local. In case the device is not rooted or you don't have BusyBox installed there will be no "cp" command. You can simply use cat: `cat /sdcard/myprog > /data/local/myprog`.

Then you have to set the executable permission on the executable. Chmod on android usually does not support the "u+x" syntax. Therefore you have to call `chmod 555 /data/local/myprog`.

Afterwards you can execute your executable: `/data/local/myprog`.

Alternatively the directory `/data/local/tmp` can be used. Via adb shell you have full access in this directory. On modern devices (Android 11+) apps can't list files from this directory, but they are still able to execute executables from there if you provide the full path of the executable.

**Update**: On Android 10+, apps that has a targetSDK of 29 or higher can no longer execute anything that is located in their app private directory: <https://developer.android.com/about/versions/10/behavior-changes-10#execute-permission>
Upvotes: 5 <issue_comment>username_2: First, you have to push it into a directory, such as `/data/local/tmp`. Then, you have to set permission for that using `chmod 755 executable`. After that, you can run it as `./executable`.

Complete steps are as follows:

```

adb push executable /data/local/tmp
adb shell
cd /data/local/tmp
chmod 755 executable
./executable

```

Alternatively, if you want to run it from your asset folder, you have to copy the file to your data folder `/data/data/packagename/`. Then using `File` class, set the `setExecutable` flag to `true` for the file and run it by the Process class or third party packages like *Root Tools* .

**UPDATE**

if you are targeting sdk 29 or higher you CANNOT use the binary from your asset folder ! you have to copy your binary to jnilib folder then run it from native library directory ! `context.getApplicationInfo().nativeLibraryDir`
Upvotes: 4


<issue_start>username_0: The camera settings only save it to the phone or the internal virtual SD card. I have installed a 32 bit hispeed SD card. How can you force it to save in the external SD card?<issue_comment>username_1: It varies from phone to phone, but generally in your camera settings you can set a destination. If that's not an option, you can try something more creative with an app such as tasker to have it automatically move pictures that your camera adds to its folder to a different folder on the SD card. If your stock camera app doesn't let you though, there are solid camera apps on the play store that certainly do.
Upvotes: 2 <issue_comment>username_2: If you go to `Camera` > `Settings` > `Settings` you should see `save to device` or `save to internal card`

I have these options on my Samsung Galaxy Note III
Upvotes: 1 <issue_comment>username_3: I have Android 6.0 with the standard Camera app. The storage setting is in the half circle control band that appears when the display is stroked slowly from the left. The setting is via an SD card icon on the band. Rotate the band with a finger to find the SD icon. I tested this and it really does change the storage location.
Upvotes: 2 <issue_comment>username_4: It depends from app to app, if the camera app you are using provides you the option or not. If the camera app that you got with your phone does not have such option, you can try other camera apps available in play store.
Upvotes: 0


<issue_start>username_0: I am searching for a way to block websites without having root access.
Is there any way to do it?
Any help will be appreciated.<issue_comment>username_1: Summed-up solution from above comments:

You can use a filtering proxy like e.g. [FilterProxy](http://www.appbrain.com/app/FilterProxy/KRIS.android.FilterProxy), which lets you define what URLs should be blocked. To prevent other users from simply disabling the proxy then, you could protect it using an app locker like e.g. [App Lock](http://www.appbrain.com/app/App-Lock/com.domobile.applock).
Upvotes: 4 [selected_answer]<issue_comment>username_2: I wanted to point out another possible solution, since I had some inconveniences with FilterProxy. I now use [DNS 66](https://f-droid.org/en/packages/org.jak_linux.dns66/), which, conveniently, can also block ads, etc.

I just had to create my own hosts file myhosts.txt somewhere on my phone with the following entries:

```
127.0.0.1 localhost
::1 localhost

0.0.0.0 www.badwebsite1.com
0.0.0.0 www.badwebsite2.com

```

You can install DNS 66 via F-Droid. And of course you can use an app locker to protect it, as described in the post by username_1.
Upvotes: 1


<issue_start>username_0: I want all the timestamps of every time that an app has started running.

I tried searching in the Play Store but I didn't find one. I downloaded an app called [AppUsage](https://play.google.com/store/apps/details?id=com.smartappers.appusage) which shows the Last Launched timestamp but I want all the timestamps<issue_comment>username_1: I found good info on the hardware specs here:
<http://www.phonearena.com/phones/Samsung-Galaxy-Note-3_id7984>
I'd compare that to any stats verizon releases.
Word on the street is it will be both CDMA and GSM, so I wouldn't be surprised if there are no differences.
My reading:
<http://forum.xda-developers.com/showthread.php?t=2469047>
Upvotes: 2 <issue_comment>username_2: As [username_1 mentions](https://android.stackexchange.com/a/55136/7112), it is your responsibility to ensure that the specs published by Verizon either match those posted by Samsung, or that the differences are acceptable to you. However, if the Note 3 is advertised with a particular feature and you purchase a Note 3 then it is reasonable for you to expect that feature.

Therefore, I would **highly recommend** that you contact Verizon **in writing** with your question and your concern. Doing this will let them know that their **spending money to modify the device** is actually **costing them potential customers**. A few letters like that might convince the company to keep their hands off the device.

*Posting as an answer, not a comment, due to recommending a different course of action than does username_1.*
Upvotes: 0 <issue_comment>username_3: **Self-answering update from OP:**

I have now owned a Verizon Galaxy Note 3 for about 6 months and there are no significant differences between this and another carrier's model.

It even has an official upgrade path to KitKat at this point (although not yet OTA at the time I posted this answer).

<http://xkcd.com/979/>
Upvotes: 2 [selected_answer]


<issue_start>username_0: Ever since the 28th of October when DST has ended all of my events in my Google Calendar has moved one hour earlier. The web calendar shows currect dates and times but the one on my Nexus 4 is one hour early.

I tried using 'Home time' in the calendar settings without success.

Any ideas?<issue_comment>username_1: Have you tried setting `Automatic date & time` and `Automatic time zone`?

![enter image description here](https://i.stack.imgur.com/LZsBqm.png)

**Source:** [Daylight Saving Time and Android: Sit back and relax](http://www.androidcentral.com/daylight-saving-time-and-android-sit-back-and-relax)
Upvotes: 2 [selected_answer]<issue_comment>username_2: Check your calendar settings and see if you're using Home time zone. I've got mine using home time zone and it has no problems switching between DST.

Calendar -> Settings -> General settings

![enter image description here](https://i.stack.imgur.com/1WDlU.png)
Upvotes: 0


<issue_start>username_0: I have recently bought a Samsung galaxy s3 mini and there is no haptic feedback on my soft buttons or typing a message, there is only a vibration key press on my lock screen. I have tryed going into settings, language and input, keyboard setting but there is no vibration on key press option in any of the settings I have looked through. Can someone help me please?<issue_comment>username_1: Had same problem. Download manager seems to be the issue if you have that installed. But just click on one of the notifications, you will see App Info. Click on that and then unclick show notifications.

It should go away.
Upvotes: 1 <issue_comment>username_2: Just disable notifications in Play Store.

Open `Play Store` -> look for the three dot `ᐧᐧᐧ` menu -> `Settings` -> Uncheck `Notifications`
Upvotes: 0 <issue_comment>username_3: This happened to me as well, but seemingly fixed it.

1. Turn off wi-fi temporarily. Only seems to happen to me while connected to wifi (possibly because my email app settings are set to only download when connected to wifi).
2. Go to apps list and find an app called "Downloads".
3. Choose the "Other downloads" tab.
4. Check the boxes for most/all items and click delete.
5. Click the down arrow called "Older" and check all remaining items and click delete.
6. Turn wi-fi back on.
Upvotes: 0 <issue_comment>username_4: Here's what I did with that same problem.

1. Settings
2. `More` tab
3. Application manager
4. Scroll right to `all`
5. Select download manager
6. Force stop, and then clear data and cache
7. Reboot
Upvotes: -1 <issue_comment>username_5: I turned off the sync and turned it back on and the notifications went away.
Upvotes: -1 <issue_comment>username_6: I went into the Download Manager app and once it opened went to the right where it says "Other Downloads" and deleted them all and I rebooted the phone and it seemed to work ok. I havent noticed them coming back or any other issues by doing this as of yet.
Upvotes: 0


<issue_start>username_0: I'm using a wifi network that contains a proxy. I am using proxydroid to run the proxy for all applications on my Android phone. But sometimes I am not able to download media on Whatsapp.
How can I use a proxy for Whatsapp and other applications with no restriction?<issue_comment>username_1: There is no way to do it via the play store, but there are other ways to do it.

You can use something like [AppMonster](https://play.google.com/store/apps/details?id=de.android_telefonie.appmanager) or [Titanium Backup](https://play.google.com/store/apps/details?id=com.keramidas.TitaniumBackup) (if rooted) to display the list of apps **ordered by last update date**. This will show you the order in which all apps were last updated, as well as the date of the update. To me this a lot more useful than the recently updated list in the play store.

It's not a perfect solution, but it gets the job done :)
Upvotes: 1 <issue_comment>username_2: Actually there is a way to do this, but it must be done before applying latest batch of updates, so maybe it will not be as practical as one might expect, as you'll find out below:

* Go to the app drawer and drag up the **Play Store** icon, to **App info**.
* Tap the button **Clear data** and confirm
* Next time you start Play Store app, it will greet you asking you to accept the TOS again, do it.
* Now the list of recently updated apps will be merged with earlier ones, and next update batch, when done, will show on top of the list.

To be honest, I don't recommend you this procedure because of potential collateral effects derived from clearing app data too frequently. I'm posting this answer only for informative purposes, but I'd rather go with the [answer given by @Krampus](https://android.stackexchange.com/a/59853/12677)
Upvotes: 0


<issue_start>username_0: If I start micromusic.net in chrome or Firefox on my nexus, I can't hear the music.

How can I make this work?<issue_comment>username_1: I'm assuming you mean www.micromusic.net?
It seems that the site uses Flash to play the music, which is not supported on Android at all. You'd have to get the developers of the site to provide other options for listening to the stream.
Upvotes: 0 <issue_comment>username_2: Use an alternative browser like [FlashFox](https://play.google.com/store/apps/details?id=mobi.browser.flashfox). Its selling point is the fact that it plays flash.

Source: Installed FlashFox, opened a random channel on micromusic.net, there were sounds!
Upvotes: 3 [selected_answer]


<issue_start>username_0: Does this tablet support exFAT file system on micro SD card? Can this tablet recognize micro SD card formatted with exFAT file system?<issue_comment>username_1: Yes, as indicated on the user manual. I'm currently using a Sandisk Class 4 32GB formatted with exFAT, works just fine. Stock ROM, unrooted.
Upvotes: 2 <issue_comment>username_2: Just format everything to FAT32.
Your mobile,flashdrive and PS4 all just format to FAT32.
Format everything to FAT32 the best.
For example:You use FAT32 files from PS4 to FAT32 flashdrive(5GB),then you transfer the files in your flashdrive to my mobile(ExFat and FAT32) driver.
The transfer will be exactly 5GB,because FAT32 and FAT32 has no side effect of expansion of files.
Beside,adding FAT32 to your mobile is very cheap.
Just pay $1 to $2 and you will have no issue in the future.

It is very likely that Samsung Tablet use EXFAT,because it exceed 32GB in it's memory slot.
I am refering to Memory card.
To prevent expansion of files,I add FAT32 to my Samsung Tab.
Beside,it is so cheap.

Pay less than $2 and you can forgot about all worries.
Let say one day........
You tranfer 5GB of files to your flashdrive and then transfer it into your mobile,which is EXFAT.
But,the EXFAT expand your files to 10+GB.
When you tranfer the files to your flashdrive and then transfer it to your PS4,you can't save all the data to your PS4.

<http://forums.hardwarezone.com.sg/hardware-clinic-2/exfat-take-up-more-space-than-fat32-4746802.html>

Just set everything to the same format and if it is less than $2.
Just buy the add on.

In the future,you don't need to worry which porn video in your mobile must you delete.You don't need to delete some of your PS4 games to make space for your data.
Upvotes: -1


<issue_start>username_0: Example:

![link](https://static1.businessinsider.com/image/4f6cb04369bedda90b000025-1200/when-your-contacts-are-all-organized-its-time-to-import-them-back-into-your-phone-to-import-this-back-into-an-android-if-your-contacts-came-from-an-iphone-go-back-and-click-merge-with-google-again.jpg)

Why is that? Does each color mean something? What is this?<issue_comment>username_1: Purely random placeholder picture. The colors are quite likely different so it looks more colorful than having one single, boring placeholder picture on every contact.
Upvotes: 2 <issue_comment>username_2: Nothing in the manual about it, and I haven't been able to determine any type of pattern with the colors. I think it's totally random to break up the monotony of the contacts list or something.
Upvotes: 2 <issue_comment>username_3: It's most likely that you have several different accounts configured on your phone, and have sync'd contacts with each of them. One color back ground shows google contacts, another for hotmail, another for lotus notes, etc. I have the same thing on my android.
Upvotes: 1 <issue_comment>username_4: It goes by who you contact the most.
Upvotes: -1 <issue_comment>username_5: The varying colors of the contacts is not random on my phone (Galaxy S5).
Each time I add a contact it selects the next color in the sequence...
Blue, Green, Orange, Orange
Blue, Green, Orange, Orange...

It just looks untidy in the Contacts list, and I see no way of changing it - apart from adding a contact a few times until it's the color you want, and deleting the unwanted ones. You could also create some simple color pictures to assign to each profile picture (if you don't have their photo)
Upvotes: 1 <issue_comment>username_6: Your answer has arrived. The different colors in your contacts represents the type of phone carrier and device an individual is using.
Upvotes: 0


<issue_start>username_0: I do not know enough about the original purpose of the different caches. If I do a cleanup in a few months and clear many app cache items, is it safe for me to assume that most programs will not lose `settings`, if I clear the "cache" cache and leave the data cache alone?

*Most programs* means if a few lose settings, it is not a problem. There are many settings in many programs that took me quite some time to setup (and test).

By `settings`, I am referring to the applications own settings, not web settings, or settings that the application has access to. Take a game, for example. I do not care if the game is reset, levels are lost, or log-in is gone. But the `settings` for that game app must stay. In a program, I do not care if it loses its thumbnails, and add-in parts, just that the `settings` for the program stay the same.

If this is all wrong, and programs are not normally supposed to use the data cache for settings, then tell me about it. I just assumed after losing some carefully selected settings that it is there in the data cache.<issue_comment>username_1: Create a dummy APN and select that as default.

With this, even if you enable data accidentally via toggles, it would still not connect.

 PS: Added as an answer as suggested by OP
Upvotes: 5 [selected_answer]<issue_comment>username_2: To stop mobile data, delete the APN's (Access point names).

Long press on mobile data icon on your Android, this opens up the Mobile Networks settings screen. Check which APN's are there, you cannot delete them right away.

Just enter anything junk in all the fields. In MNC, put 000. Also, put 00 in everywhere else where it needs numeric. Now this APN should disappear.
Upvotes: 0 <issue_comment>username_3: Deleting the APNs on the phones mobile data settings would work. This way, it won't ever connect to mobile data through your carrier.

I discovered that after I tried installing apps that supposedly turn off or disable mobile data, but none of these work.
Upvotes: 0 <issue_comment>username_4: Ask the service provider to stop the internet services so that they will stop it.
Upvotes: 0 <issue_comment>username_5: Arrange your notification icons and move data to where it is inaccessible via quick buttons, then either create a new APN or delete existing APN and choose it as a default.

In my experience with Apple, the best option is deleting existing APNs, except for the MMS APN.
Upvotes: -1 <issue_comment>username_6: I guess Samsung smartphone will outsmart you. It will reinstall the default APN after system updating. Be careful, it will auto-connect to the mobile data when you change the SIM card, especially when the phone is new.
Upvotes: 0


<issue_start>username_0: Does Android keep a history of the files sent via Bluetooth? I didn't see anything like that in the user interface (there's a log of received files, but not sent ones), but maybe there's a hidden log file somewhere?
I need to check past activity. Installing an app to start logging this now won't help me.<issue_comment>username_1: There's a user interface that's providing the log/history of Bluetooth sharing.

To view the log you need to activate Bluetooth and send any file. After sending a notification appears and by clicking it you can view the logs.
Upvotes: 0 <issue_comment>username_2: Go to settings and turn on bluetooth. Click menu button and you will see the option `Show received files`. Alternatively every files sent via bluetooth will be stored in a folder named `bluetooth` in storage (if the files are not moved).
Upvotes: 3


<issue_start>username_0: I am using the non-gmail email application to connect to get email from my university, but the app seems to have a bug and sometimes (probably when there are connection issues) doesn't properly delete emails. These would be deleted from the server, but get stuck in the app. Every time after a refresh operation they reappear even if I delete them over and over again. They reappear even if their date is older than the defined relevant window (e.g. last month). How can I refresh the app to get rid of these zombie emails?<issue_comment>username_1: If you don't mind having to completely re-configure it, and start as if you'd just installed that app:

1. Go to *Settings → Apps*
2. Scroll to the app in question, tap it
3. Select to "Delete Cache" and "Delete Data"

Now you've *completely* "refreshed" it. With some luck, the app somehow offers to export its configuration; if so, do that first, and re-import the settings after above described "reset" to save you from manually reconfiguring it.
Upvotes: 1 <issue_comment>username_2: It wants to be device admin in security. Unstick the device admin and use a separate app like OWA for exchange mail
Upvotes: -1 <issue_comment>username_3: I had exactly the same problem myself. The default android app for email took up a lot of storage space. When I tried to clear the Data from the app menu (Settings->Apps->Email) the "Clear Data" button was greyed out.

The process below will reset you connection to you email account, so make sure you know your password and settings so you can reconnect at the end.

I found that the Exchange Email server acquires some security settings, and this leads to the greyed-out option. What you need to override these settings is to go to Settings->Security, scroll to down and click on "Device administrators". You will find a list of programs with special security options, and one of them will be "Email". Uncheck the "Email" program. Once you do this your e-mail account will be *reset and deleted* and the space that the app takes will be cleared.

Gil
Upvotes: 1 <issue_comment>username_4: if you are using a cheaper phone, and this happens in **outlook** (Clear data is grey) go to settings-Search for security with the magnifying glass icon; then search for device admin aps click on **device admin aps** then un-check the **outlook device policy**..You can now clear the data..restart your phone, and start outlook again, you will need your password, but outlook recognizes your account.
Upvotes: 0


<issue_start>username_0: I have been wondering for quite some time now; where does Android store it's user and group id information?

For instance, on standard Linux, user and group information is stored in `/etc/passwd` and `/etc/group`, respectively. When you add a user to a group, his or her username/uid gets added to the list of users in that group, for instance the my audio group entry in `/etc/group` looks like this:

```
audio:x:29:pulse,edge-case

```

Where pulse gets mapped to the uid of the pulseaudio daemon and edge-case gets mapped to my uid (1000), on my Linux box.

As I understand it, each app that gets installed on Android gets it's own uid and gid and this is the bases of the "sandboxing" of apps that occurs on Android as they all run in their own process and can't access data of another process or files owned by another app unless there are declaration in a Manifest file created by app programmers which dictates what info is to be shared to other apps and what not. This is also how apps gain or rather request access to networking services during installation by requesting to be added to the INTERNET group or something like that, don't quote me on the name of the NET net group, it might be more like INET or INET6, either way I know there are several levels of network access that can be granted to an application through this mechanism on Android.

My question is, where is this information stored in Android?

Further more, is it possible to modify?

I would like to integrate a glibc stack with it and the data within it in my `/etc/{passwd,group}` files, trust me, they exist on my phone, I even have apt installed with a lot of other goodies.

Update:
Have been doing more searches and
[This might be what I am looking for.](https://android.stackexchange.com/questions/8452/how-to-know-app-name-by-uid/8465#8465)

I will need to dig a bit deeper and make sure it is everything I am looking for.

Update: (5:40 June 27 2014)

Since someone thinks I don't know what I am doing or talking about, let me clarify;

User UIDs on Android are offset with 100000 and App UIDs are offset with 10000 when mapped to the user number \_ app number, hence when a ps shows something like u0\_a10 which means that User with UID 100000 is running app with UID 10010,

I have pulled UID and user/daemon names from system/core/include/private/android\_filesystem\_config.h and used those to update my /etc/passwd and /etc/group files (On my Android box), for example my /etc/passwd file (on my Android box) looks like this :

```
....
brainard:x:100002:100002:Prof<NAME>,0420,,:/home/brainard
:/bin/bash
radio:x:1001:1001::/data/radio:/bin/false
bluetooth:x:1002:1002::/data/bluetooth:/bin/false
graphics:x:1003:1003::/home/graphics:/bin/false
input:x:1004:1004::/home/input:/bin/false
camera:x:1006:1006::/home/camera:/bin/false
log:x:1007:1007::/home/log:/bin/false
compass:x:1008:1008::/home/compass:/bin/false
mount:x:1009:1009::/home/mount:/bin/false
wifi:x:1010:1010::/home/wifi:/bin/false
adb:x:1011:1011::/home/adb:/bin/false
install:x:1012:1012::/home/install:/bin/false
media:x:1013:1013::/home/media:/bin/false
dhcp:x:1014:1014::/home/dhcp:/bin/false
....

```

I have set up configuration in /etc/adduser.conf to create new users like so ( On my Android box) :

```
# FIRST_[GU]ID to LAST_[GU]ID inclusive is the range of UIDs of dynamically
# allocated user accounts/groups.
FIRST_UID=100001
LAST_UID=199999

FIRST_GID=100001
LAST_GID=199999

```

This is in accordance with Android's policy, I let "glibc based" system users still be created from range 100-999 I believe and I modified the audio user on my /etc/passwd and /etc/group files to be of 1005, like it is on Android.

I need to update Android and synchronize it with info regarding my User UIDs as well as with my Daemon or system user UIDs from the glibc stack.

You can read more about this in the book "Embedded Android" by <NAME>
[Sold here](http://rads.stackoverflow.com/amzn/click/1449308295)

My goal is to get programs like nvlc to work but I need to get UIDs and GIDs synchronized so that Android is aware of my users and the groups they belong to so that for instance, my brainard user with have access to the audio devices.

Also I need to inform Android about Postres and it's membership in the network group so that it can open sockets and allow access to databases. I have disabled PARANOID\_NETWORKING in the kernel for the time being, but this hack only serves to make Android as Secure as vanilla Linux, no less. It would be nice to keep the paranoid setting and apply the group permissions to what daemons/users I see fit.

This would make Android a great operating system for public facing servers with such paranoid and fine tuned controls. Imagine having access to Kerberos, LDAP, PAM, or When using you phone as WAP having Radius configured, all of which are available from Debian and other distribution repos free of charge.

I have got this all figured out, I just need to know how to update Android's UID/GID database, which does get updated every time you install an app, so I know it is possible.

Update : (7:08pm June 30, 2014)

After going over the data in the following files ...

```
/data/system/packages.list
/data/system/packages.xml
/data/system/user/userlist.xml
/data/system/user/0.xml

```

... I have updated my question to include "how do I interpret it?"

* I think I am going to need to create a custom PAM module and blend Bionic and Glibc into a single C library, they need to compatible with applications on both sides, no exceptions, expect C++ exceptions that is ;p--- I have written a couple rules of thumb-2 :) for myself to follow. I might also need to write a wrapper to popular package management systems like rpm and apt that fakes an apk installation and gives each new deb|rpm package a UID and maybe just sym-link everything into the FHS. That might be the most ideal solution I could go for, though the most work, as each would need a set of permissions in their "manifest", maybe a menu during install an the user can give and take as needs be.
* Does anyone have a good reference that explains the syntax of these files? I am not very well versed with XML, not to mention it's use usually depends on the application that interprets it.
* I do understand the `packages.list` file with the exception of the `null` entry in the last column, can anyone explain that?<issue_comment>username_1: First of all as you are aware of that the every Application has its own unique PID(Process ID) this PID is assigned to the application by the kernel of the Operating System.

1. In Android ADT you can off course view the PID in the logcat .
2. If you want to view the PID in your device then you need to install
an Application from the [play store](https://play.google.com/store/apps/details?id=com.tackuji.android.processlist&hl=en)(can't give any guarantee whether
the PID displayed by the app is genuine or not)
3. Coming to the modification part is a big No.
4. No you cannot modify the PID as your wish as it will lead to
security concerns as well as ambiguity between the apps for another
app may have the same PID thereby resulting to Conflict.
Upvotes: 0 <issue_comment>username_2: Seen the `GET_ACCOUNTS` permission? (***Ed. Note:*** That particular feature might not be every useful for this question, either, as it is apparently a feature developed moreso for web authentication.)

Personally, I'm reading about the topic as with regards to UID/GID values computed at time of APK install – presently, as research for a simple 'blog article -- but I would like to study this topic a little further, too. Referring to the reference documentation about these multiply-linked OS features, in Android, it seems there is an *Account Service* in the Android OS. (***Ed. Note*** It may seem, furthermore, that the *Account Service* in Android may be more a service developed for application about an Android user's web accounts)

Though personally I'm preoccupied about writing another article, immediately, but certainly the Account Service may bear some further study. Perhaps it may be relevant, orthogonally, as with regards to applying Kerberos on Android appliances. There is some of an existing work, with regards to implementing Kerberos services on the Android platform. For web apps, of course there's OAuth/OAuth2.

Evidently, Android does not use conventional UNIX passwd/shadow files([Anderson2013](http://www.all-things-android.com/content/deeper-look-android-application-permissions "A Deeper Look at Android Permissions")). My best estimate, presently, is that the Android OS Account Service may be a topic to a manner of a further study ... at least, so far as to discover that the Android Account Service may be rather a *web authentication* utility([API: AccountManager](http://developer.android.com/reference/android/accounts/AccountManager.html "API Documentation: android.accounts.AccountManager")).

I'm sure there's something more about Android's alternative to `/etc/passwd`, somewhere in the Android source code. Hopefully, it's close to however the same thing might be approached in CyanogenMod.
Upvotes: 1 <issue_comment>username_3: Here my thoughts on how Android implements UID/GID lookup. I hope it will be helpful to anyone who is having the questions.

[grp\_pwd.cpp](https://github.com/aosp-mirror/platform_bionic/blob/android-p-preview-5/libc/bionic/grp_pwd.cpp#L517) describes how Android translate a UID/username to a `passwd` structure. From the `getpwuid` function we can see that

1. The UID is first compared to the predefined AIDs from `generated_android_ids.h` under `$(AOSP_ROOT)/out/soong/.intermediates/bionic/libc/generated_android_ids/gen` which is generated from [android\_filesystem\_config.h](https://android.googlesource.com/platform/system/core/+/android-9.0.0_r30/libcutils/include/private/android_filesystem_config.h) according to [bionic/libc/Android.bp](https://github.com/aosp-mirror/platform_bionic/blob/android-p-preview-5/libc/Android.bp#L1223) and [bionic/Android.bp](https://android.googlesource.com/platform/system/core/+/android-9.0.0_r30/Android.bp). The AIDs are stored in a username to UID map in `struct android_id_info android_ids[]` and when looked up, they are converted to the `passwd` structure with `uid` and `gid` set to AID, home directory set to `/` and shell set to `/system/bin/sh` ([code](https://github.com/aosp-mirror/platform_bionic/blob/android-p-preview-5/libc/bionic/grp_pwd.cpp#L140)).
2. If no user is found in the previous step, the function will look for OEM defined users. The UIDs of these users range from `AID_OEM_RESERVED_START` to `AID_OEM_RESERVED_END` and `AID_OEM_RESERVED_2_START` to `AID_OEM_RESERVED_2_END`. The vendor-defined users are stored in [`/vendor/etc/passwd`](https://github.com/aosp-mirror/platform_bionic/blob/android-p-preview-5/libc/bionic/grp_pwd.cpp#L49). User names are set to `oem_${uid}` and the other attributes are set in the same fashion as the AID users.
3. Finally, it will check all app users in [`app_id_to_passwd()`](https://github.com/aosp-mirror/platform_bionic/blob/android-p-preview-5/libc/bionic/grp_pwd.cpp#L474) and the process is very similar.

If you wish to get all `passwd` entries, please take a look at `getpwent()` in the same file and also the manpage of [getpwent(3)](http://man7.org/linux/man-pages/man3/getpwent.3.html)
Upvotes: 2


<issue_start>username_0: My HTC One vibrates every darn time the notification sound comes on, and I cannot for the life of me figure out how to get it to stop. I have "vibrate on calls" unticked in the setting, under sound, and it still does it. This was never a problem before that system update a little while ago.

I am seriously so mad right now.

Help?<issue_comment>username_1: To remove vibration you should
Settings > Sound > deselect the vibration box
Upvotes: 0 <issue_comment>username_2: Go to Settings → Accessibility and untick the box for reminder of notifications. That might fix it.
Upvotes: -1 <issue_comment>username_3: Yes, I too went in to Settings > Accessibility and turn off for reminder of notifications. That fixed it for me. (For HTC 826)
Upvotes: 1


<issue_start>username_0: No matter which method I use, I cannot take screenshots of the Android L emulator. I tried through Android Studio, using the Android Device Monitor app, and through adb with [this](https://stackoverflow.com/questions/15892305/how-to-take-screenshot-in-android-emulator) method (first answer) which produces a 0 byte file. I can take screenshots fine with all my other emulators. However, this emulator is a bit different than my others. For the first time, I am using the X86 system image and I enabled "Use host GPU". Is there some new way of taking screenshots I don't know about?<issue_comment>username_1: ![See the Image](https://i.stack.imgur.com/rrZEF.png)
Screen Shot of Emulator:
Firstly start the emulator then go to the DDMS
please select the emulator then left side we have button Screen Capture click this button screen Shot is taken.
Upvotes: 2 <issue_comment>username_2: 1. Run your application
2. Click `Android` Icon >> `Screen Capture` Icon from android studio
3. `Save`

Tutorial: [How to take screenshot from android studio](http://www.viralandroid.com/2015/08/take-screenshot-of-android-app-from-android-studio.html)
Upvotes: 0


<issue_start>username_0: I have a Samsung Galaxy Ace and when I try to use my apps, it says "This app won't run without Google Play services, which are missing from your phone".

Where can I find those Google Play Services as they are not in my menu nor in any of my settings? I had them before but now I can't find them..!<issue_comment>username_1: Google Play Services can be Disabled (Turned Off), and it is possible you did so. To find out if this is the case, and to re-enable, use Settings>Application Manager, and find the List of Apps either 'All', or sometimes it is split into 'Disabled' (Turned Off). The 'All' or 'Disabled' lists are to the far right panel of this tabbed interface - scroll far right. If not in a Disabled list, the disabled apps are at the bottom of the 'All' list. Find it alphabetically to re-enable (Turn On).
Upvotes: 1 <issue_comment>username_2: Simply Google: Google Play services to install it. This has worked for me many a time and you can even update it via this method.
Upvotes: 0 <issue_comment>username_3: In addition to the [answer](https://android.stackexchange.com/a/77169/96277) by [username_1](https://android.stackexchange.com/users/10913/username_1), if you cannot find Google Play Services yet you think that you've not uninstalled it, then follow this solution:

1. Enable [USB Debugging](https://android.stackexchange.com/questions/67249/how-to-enter-usb-debugging-mode-in-cyanogenmod), install ADB drivers in your PC for your device, and make sure that your device is getting detected in the output of the command `adb devices`. (Consider [Minimal Installation of ADB](https://android.stackexchange.com/q/42474/96277).)

Alternatively, you may install a terminal app like [Terminal Emulator for Android](https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=en) or [Terminal IDE](https://play.google.com/store/apps/details?id=com.spartacusrex.spartacuside&hl=en).
2. * Connect your phone into PC and run:

	```
	   adb shell

	```

	The command will let you enter into ADB shell.
	* The following `pm` command will find all enabled packages in your device and `grep` will output `gms` for [com.google.android.gms](https://play.google.com/store/apps/details?id=com.google.android.gms&hl=en_GB) i.e. Google Play Services.

	```
	   pm list packages -e | grep gms

	```
	* The following `pm` command will find all disabled packages in your device and `grep` will output `gms` for [com.google.android.gms](https://play.google.com/store/apps/details?id=com.google.android.gms&hl=en_GB) i.e. Google Play Services.

	```
	   pm list packages -d | grep gms

	```
	* Alternatively, you can run the last two commands in [Terminal Emulator](https://play.google.com/store/apps/details?id=jackpal.androidterm&hl=en) app.
	* If your system has the Play Services installed, then the output of one of the last two command should be:

	```
	   package:com.google.android.gms

	```
3. If the package is enabled, then you can find it easily in **Settings → Apps → All Apps → Google Play Services**. In your launcher the app name would be **Google Settings**.

In case you cannot see it in any said location yet it is enabled, then type the command:

```
 am start -a android.intent.action.MAIN -n com.google.android.gms/.app.settings.GoogleSettingsActivity

```

The command will launch the **Google Settings** UI.
4. If the app is disabled, then you can enable the app using the command:

```
 pm enable com.google.android.gms

```

Repeat step 3. to launch this app.
5. If you do not see any output in Step 2., then possibly your device doesn't have Play Services installed. In this case, AFAIK you have to flash a [Gapps package](https://android.stackexchange.com/a/110241/96277).
Upvotes: 0


<issue_start>username_0: I just bought a Nexus 5 (US version) and for the past 2 to3 weeks I have noticed that Facebook updates every time I am connected to Wi-fi, I mean I am a developer so I can imagine that updates come out but not so often I assume. Should I just turn auto update off or is there something else that can be done?<issue_comment>username_1: Facebook does indeed update pretty often with random bug fixes as well as security, performance and stability updates. Often this depends on the company as well as the urgency of the update. Security updates tend to be urgent and are often shipped as quickly as the exploits are patched whilst minor bug fixes might be accumulated first and shipped as a larger update later on.

Automatic updates means less savvy users always have the latest version of the Facebook app and the relevant bug fixes and security patches.

If this bothers you, consider disabling automatic updates.

**EDIT**
This is the Facebook changelog taken from Changelog Droid
![facebook changelog](https://i.stack.imgur.com/wv9jP.jpg)
Upvotes: 1 <issue_comment>username_2: <https://play.google.com/apps/testing/com.facebook.katana/>

Check to ensure you are indeed not in the beta testing.
Upvotes: 0


<issue_start>username_0: I use the Contacts app with this icon

![Contacts app icon](https://i.stack.imgur.com/b8AC7.png)

and write something in the search field to find a contact.

I click the contacts name and come to this screen:
![contact screen](https://i.stack.imgur.com/QYDUo.png)

Now, I have found no way to edit the phone number.
Clicking inside the box with the green caller will call the contact.

Clicking the menu will give me the menu alternatives: Delete, Join, Add to Home screen.

There is no text anywhere that sais "edit contact" or the like.

Clicking the contacts name will not result in anything.
Clicking the contacts photo will show it bigger.

Long clicking inside the box with green caller will popup a menu with the alternatives "Forward contact" and "Copy to clipboard".<issue_comment>username_1: That's because the contact is synced to your contacts via online account (Facebook in this case). You are not allowed to edit that contact that is why there is no option of editing it. Get it!
Upvotes: 3 [selected_answer]<issue_comment>username_2: I don't know if you have found the answer you are looking for but I found if you click the join button in the edit menu you can combine two contacts into one. So all you need to do is make a contact for the person with their number or what have you and then join it with the facebook contact listing.
Upvotes: 0 <issue_comment>username_3: Long press the contact and then the edit button will show up !
Upvotes: -1