2012-08-08 71 views
-1

我是Android新手,需要閱讀手機的通話狀態。我收到錯誤,當應用程序運行(停止):ANdroid開發 - 手機的通話狀態

package com.example.droid1; 

import android.app.Activity; 
import android.content.Context; 
import android.os.Bundle; 
import android.telephony.PhoneStateListener; 
import android.telephony.TelephonyManager; 
import android.widget.TextView; 
import android.widget.Toast; 

public class DroidActivity extends Activity { 
    private TextView text0; 
    private TelephonyManager telephoneM; 
    private PhoneStateListener listner; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_droid); 
     text0 = (TextView) findViewById(R.id.textout); 
     telephoneM = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); 
     listner = new PhoneStateListener() 
     { 
      public void onCallStateChanged(int state, String incomingnumber) { 
       String stateS = "N/A"; 
       switch(state) { 
       case TelephonyManager.CALL_STATE_IDLE: 
        stateS = "Oscioso"; 
        Toast.makeText(DroidActivity.this, ""+stateS,Toast.LENGTH_SHORT).show(); 
        break; 
       case TelephonyManager.CALL_STATE_RINGING: 
        stateS = "Sonando"; 
        Toast.makeText(DroidActivity.this, ""+stateS,Toast.LENGTH_SHORT).show(); 
        break; 
       case TelephonyManager.CALL_STATE_OFFHOOK: 
        stateS = "Ocupado"; 
        Toast.makeText(DroidActivity.this, ""+stateS,Toast.LENGTH_SHORT).show(); 
        break; 
       } 
       text0.append (String.format("\nonCallStateChanged: %s",stateS)); 

      } 
     }; 
     telephoneM.listen(listner, PhoneStateListener.LISTEN_CALL_STATE); 
    } 
} 

我沒有在Eclipse中的任何錯誤信息,應用程序無需安裝虛擬設備上的問題,但是,當它運行我的錯誤消息「不幸的是Droid1已停止「 任何意見將不勝感激。 Thx

+0

嘗試顯示您的logcat。 – R4j 2012-08-08 02:37:25

回答

0

檢查您的清單。

你把這個權限

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