着信を検出するプログラムを実行しています。アプリがサイレント モードの場合は、一般モードに切り替わり、呼び出し音が鳴ります。ブロードキャスト受信機を使用して着信を聞いていたので、そこからサービスが開始されました。
私が使用している放送受信機は
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
switch (am.getRingerMode()) {
case AudioManager.RINGER_MODE_SILENT:
Log.i("MyApp","Silent mode");
Intent IncomingNumberIntent = new Intent(context,RingOnSilent.class);
// IncomingNumberIntent.putExtra("PhoneNumber", phonenumber);
context.startService(IncomingNumberIntent);
break;
case AudioManager.RINGER_MODE_VIBRATE:
Log.i("MyApp","Vibrate mode");
break;
case AudioManager.RINGER_MODE_NORMAL:
Log.i("MyApp","Normal mode");
break;
}
}
そこからサービスが始まり、
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@SuppressWarnings("deprecation")
@Override
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
am = (AudioManager) getBaseContext().getSystemService(Context.AUDIO_SERVICE);
am.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
super.onStart(intent, startId);
}
問題は、インストール後初めて通常に切り替わるが、鳴らないことです。でもその後鳴る。誰でも何が問題なのか教えてもらえますか?