如何在ListView中按下按钮进行呼叫?

时间:2017-04-23 12:05:52

标签: android listview custom-adapter

我在CustomAdapter类的getView()方法中完成了以下代码。如果我尝试简单地显示Toast,Toast会出现,但如果我执行以下代码进行调用,则应用程序崩溃。我在这里做错了什么?

                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.

1 个答案:

答案 0 :(得分:3)

尝试在 AndroidManifest

中添加正确的呼叫权限
<uses-permission android:name="android.permission.CALL_PHONE" />

如果您在Android 6.0或更高版本上运行,您还应该在运行时获得此权限

getting runtime permission