2012-07-15 46 views
0

我已經測試了我的接收器在模擬器上,並模擬面對呼叫模擬器,並可以記錄電話狀態,甚至可以獲得呼叫號碼, 但是,如果我嘗試在真實設備上,這是行不通的。我添加了一個活動,如果它工作的背景,它的作品。但爲什麼我應該添加它?爲什麼必須在後臺運行?閱讀手機狀態接收器不工作在真實的設備上

@Override 
public void onReceive(Context cnx, Intent nt) { 
    Bundle bnd = nt.getExtras(); 
    Log.e("EXTRA", "EXTRA"); 
    if (bnd != null) { 
     String state = bnd.getString(TelephonyManager.EXTRA_STATE); 
     Log.i("PHONE STATE", state); 



     if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) { 
      Log.i("PHONE STATE", 
        bnd.getString(TelephonyManager.EXTRA_INCOMING_NUMBER)); 
     } 

    } 

回答

0

本意是在前臺運行,如果你想在後臺運行你的進程,你應該使用服務。 read here more

對於你的問題,你應該有一個接收器單獨的類,清單文件註冊接收機手機狀態變化的行動,並與讀取手機狀態。

+0

尊敬的Ankit, 我已經在清單中註冊了我的收貨人並給予了必要的許可。它在不使用任何活動或服務的情況下運行模擬器。但它不能在真實設備上工作。是什麼原因? – 2012-07-15 23:09:22

相關問題