Hi All,

I could finally sort out this issue. It so turns out that the
Broadcast Intent i want to receive doesn't linger for long enough for
your receiver to consume it and process it. In technical words, the
intent is NOT STICKY. Hence, I had to get the state using the method
getCallState() to process the Intent. :)

On Feb 11, 3:59 pm, Nitin Sethi <sethi.5...@gmail.com> wrote:
> Hi All,
>
> I have been trying very hard to get it work in my Gingerbread 2.3.5
> phone but with no success. I have read all the posts and have come up
> with the below code which works very rarely. I suspect it has
> permissions issue but could not zero in on the issue which is bugging
> me for long.
>
> My Manifest:
>
> <?xml version="1.0" encoding="utf-8"?>
> <manifest xmlns:android="http://schemas.android.com/apk/res/android";
>     package="utils.self.puttu"
>     android:versionCode="1"
>     android:versionName="1.0" >
>
>     <uses-sdk android:minSdkVersion="10" />
>
>     <uses-permission
> android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
>     <uses-permission
> android:name="android.permission.READ_PHONE_STATE" />
>
>     <application >
>         <receiver android:name=".PersonalisedSetting" >
>             <intent-filter >
>                 <action
> android:name="android.intent.action.PHONE_STATE" />
>             </intent-filter>
>         </receiver>
>     </application>
>
> </manifest>
>
> My Receiver:
>
> package utils.self.puttu;
>
> import android.content.BroadcastReceiver;
> import android.content.Context;
> import android.content.Intent;
> import android.media.AudioManager;
> import android.telephony.TelephonyManager;
> import android.widget.Toast;
>
> public class PersonalisedSetting extends BroadcastReceiver {
>         // private PhoneStateListener myListener = null;
>         @Override
>         public void onReceive(Context context, Intent intent) {
>
>                 // if (intent.getStringExtra(TelephonyManager.EXTRA_STATE) ==
>                 // TelephonyManager.CALL_STATE_RINGING)
>
>                 String number = intent
>                                 
> .getStringExtra(TelephonyManager.EXTRA_INCOMING_NUMBER);
>
>                 if (number.equals("+919742431366") || 
> number.equals("9742431366"))
> { // My Gf's Number :D
>                         AudioManager vAudioManager = (AudioManager) context
>                                         
> .getSystemService(Context.AUDIO_SERVICE);
>                         int maxVolume = vAudioManager
>                                         
> .getStreamMaxVolume(AudioManager.STREAM_RING);
>
>                         
> vAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
>                         
> vAudioManager.setStreamVolume(AudioManager.STREAM_RING, maxVolume,
>                                         AudioManager.FLAG_SHOW_UI);
>                 } else {
>                         Toast.makeText(context, "Forget it", 
> Toast.LENGTH_LONG).show();
>                 }
>
>         }
>
>
>
>
>
>
>
> }

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to