Android: тост при исходящем звонке - PullRequest
0 голосов
/ 28 декабря 2010

я пытаюсь найти этот код, найденный в интернете ... он должен показывать тост за событие вызова OutComing с использованием BroadcastReceiver, но на моем htc tattoo с Android 1.6 он не работает (он не показывает тост)

public class HFBroadcastOutComingRecevier extends BroadcastReceiver{
 @Override
 public void onReceive(Context context, Intent intent) {

     Toast.makeText(context, "Phone Event", Toast.LENGTH_SHORT).show();

     Bundle bundle = intent.getExtras();
     if(null == bundle)
           return;
     String phonenumber = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
     String info = "Detect Calls sample application\nOutgoing number: " + phonenumber;
        Toast.makeText(context, info, Toast.LENGTH_LONG).show();
 }
}

Естественно, я зарегистрировал BroadcastReceiver в своем Манифесте как:

  <receiver android:name=".HFBroadcastIncomingRecevier">
   <intent-filter>
    <action android:name="android.intent.action.PHONE_STATE" />
   </intent-filter>
  </receiver>

и с этими разрешениями:

  <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>

Любойидея?

1 Ответ

0 голосов
/ 28 декабря 2010

Изменить фильтр намерений на ACTION_NEW_OUTGOING_CALL

<receiver android:name=".YourClassName" android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.NEW_OUTGOING_CALL" />
    </intent-filter>
</receiver>

И если это не работает, также добавьте фильтр намерений в свой onReceive

public void onReceive(Context context, Intent intent) 
{
    String mAction = intent.getAction();
    if(!mAction.equals("android.provider.Telephony.SMS_RECEIVED"))
        return;
    Toast.makeText(context, "Intent Received", Toast.LENGTH_LONG).show();

}

Это для входящего сообщения, измените его соответственно и пример здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...