2012-01-19 13 views
0

Я пытаюсь разработать простой Broadcastreceiver.Simple BroadcastReceiver не работает

Вот мой код:

public class MyClass extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     // TODO Auto-generated method stub 
     Bundle extras = intent.getExtras(); 
     if (extras != null) { 
      String state = extras.getString(TelephonyManager.EXTRA_STATE); 
      Log.w("DEBUG", state); 
      if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) { 
       String phoneNumber = extras 
         .getString(TelephonyManager.EXTRA_INCOMING_NUMBER); 
       Toast.makeText(context, phoneNumber, Toast.LENGTH_LONG).show(); 
       Log.w("DEBUG", phoneNumber); 
      } 
     } 
    } 
} 

Manifest.xml:

<uses-sdk android:minSdkVersion="10" /> 

    <application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" > 

     <receiver android:name=".MyClass"> 

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

Все, что я хочу сделать, это 'тост' число я звоню (или когда я дозвонился).

Не работает ли это так? Его единственный код, который я использую в данный момент. Только один Broadcastreceiver работает в фоновом режиме и запускается с помощью телефона-события.

Спасибо, prexx

ответ

1

Вам нужно добавить это разрешение манифеста:

<uses-permission android:name="android.permission.READ_PHONE_STATE"> 
Смежные вопросы