Not sure if this is the correct place to ask, but is there a way to prevent anyone from calling my Android phone directly, so they all incoming (and perhaps outgoing, but incoming is most important) calls must be filtered through Google Voice?
I suppose one way to do this would be with a general call blocking app. I use Mr. Number Call Block on my phone, and you could set it up with the following rules:
That should allow you to basically block all calls that don't originate from you GV number. The downside to this would be that blocked calls wouldn't get forwarded through GV's call service, but rather would get sent to voicemail (or you could choose to have it automatically answer->hang up to block the calls completely).
For outgoing calls you should just be able to use the settings in the GV app. My EVO has an option do use GV for all outgoing calls, though I'm not sure if other phones do, to be honest.
Not blocking per se, but depending on your carrier you can have your regular number always forward to your Google Voicemail.
Some information here: http://www.google.com/support/voice/bin/answer.py?hl=en&answer=164652
and here: http://www.google.com/support/forum/p/voice/thread?tid=00a93855af6943b4
here's a thought. block all incoming calls, except for ones with your GV number. Set your GV Cid to GV number, then use GV call screen function to tell who is calling. note, though, callers will only be asked for their name, if they call from a number not in your Google Contacts.
As a side note, thinking of setting my fiance phone to this, as her sister won't use GV, thus eating up her minutes.
Disabling the phone permission of the Phone app might help.
In Android 6.0, go to Settings > Apps > (Gear Icon in right corner) > App permissions > Phone > Disable Phone, then restart the phone.
Afterward, I was able to make and receive all calls with Google Voice only, without losing data functionality
To be more specific, I was using a Motorola G Turbo Edition.