2014-02-27 67 views
0

我有一個小問題,我的代碼,我使用了Intent類來啓動服務調用,就像這樣:出現ACTION_DIAL不能得到解決或無法在現場

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.intent); 
     Uri uri=Uri.parse("tel:067614214367"); 
     Intent DialIntent = new Intent(Intent.ACTION_DIAL,uri); 
     startActivity(DialIntent); 
    } 

錯誤消息:ACTION_DIAL不能解決或不是一個字段

請幫助。

回答

1

我想你只需要設置的標誌:

DialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

因此,最終的方法是這樣的:

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.intent); 
     Uri uri=Uri.parse("tel:067614214367"); 
     Intent DialIntent = new Intent(Intent.ACTION_DIAL,uri); 
     DialIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     startActivity(DialIntent); 
    } 

編輯:

注意Intent.ACTION_DIAL帶來了撥號器,但實際上並沒有撥打電話。你可以用這條線替換(Intent DialIntent = new Intent(Intent.ACTION_DIAL,uri);))所示的行:

dialIntent.setAction(Intent.ACTION_CALL); 

所以:

Intent dialIntent = new Intent(); 
dialIntent.setAction(Intent.ACTION_CALL); 
dialIntent.setData(Uri.parse("tel:067614214367")); 

你必須申報android.permission.PHONE_CALL許可,您的Android清單文件。

+0

謝謝您的回答,我有FLAG_ACTIVITY_NEW_TASK同樣的錯誤messege(FLAG_ACTIVITY_NEW_TASK不能得到解決,或者不是場), – abdoBim

+0

你添加的權限在AndroidManifest.xml中? :<使用權限的android:name =「android.permission.CALL_PHONE」/> –

+1

@abdoBim我編輯了我的答案試試吧,我希望它現在可以:) –

相關問題