2017-04-23 47 views
1

我已經在CustomAdapter類的getView()方法內完成了以下代碼。如果我嘗試簡單地顯示Toast,Toast就會出現,但是如果我執行以下代碼進行調用,應用程序會崩潰。我在這裏做錯了什麼?如何在ListView中單擊按鈕時調用?

   call.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        Intent callIntent = new Intent(Intent.ACTION_CALL); 
        callIntent.setData(Uri.parse("tel:" + phone.getText().toString())); 
        context.startActivity(callIntent); 
       } 
      }); 

和堆棧跟蹤顯示了這個錯誤:

AndroidRuntime: FATAL EXCEPTION: main Process: com.example.hammad.contactme, PID: 26713 android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. 
+0

如果你是一個Android 6+,你是否獲得了在** Manifest **和運行時間中進行調用的正確權限? –

+0

已添加權限。它不起作用。 –

+0

它也不適用於ACTION_DIAL。 –

回答

2

嘗試添加正確的權限撥打電話AndroidManifest

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

,如果你是在Android 6.0或以上版本運行您還應該在運行時獲得此許可

getting runtime permission

+0

已添加權限。它不起作用。 –

+0

運行時和清單?! 你可以添加你的錯誤堆棧跟蹤? –

+0

它也不適用於ACTION_DIAL。 –

相關問題