创建按钮以拨打特定号码 - Android Studio

时间:2016-01-06 22:54:26

标签: java android xml android-studio

我知道这个问题在这里已经回答了几次,但我遇到了一个稍微大一点的问题,因为Android Studio给了我以前没有遇到过的错误(我是android编程的新手)。 / p>

AndroidManifest.xml内,我有以下代码:

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

在java类中,我有以下代码:

Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:123456789"));
startActivity(callIntent);

我的问题是startActivity(callIntent);给了我以下错误:

enter image description here

然后引导Android Studio添加此内容:

Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:123456789"));
            if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
                // TODO: Consider calling
                //    ActivityCompat#requestPermissions
                // here to request the missing permissions, and then overriding
                //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
                //                                          int[] grantResults)
                // to handle the case where the user grants the permission. See the documentation
                // for ActivityCompat#requestPermissions for more details.
                return;
            }
            startActivity(callIntent);
然后,Android工作室给出了最后一个错误:

enter image description here

我不知道我在这里做错了什么,请有人帮忙吗?

1 个答案:

答案 0 :(得分:4)

在你的情况下使用this,你正在考虑View.OnClickListener(因为onClick()它是覆盖方法的内部类)。您需要在它之前添加您的Activity类名称(下面的示例为MainActivity)。

更改

ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE)

ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE)