给出安卓打电话的完整程序
时间: 2024-03-21 16:39:08 浏览: 16
好的,下面是一个简单的安卓打电话的完整程序:
1. 在 AndroidManifest.xml 中添加权限:
```xml
<uses-permission android:name="android.permission.CALL_PHONE" />
```
2. 在 XML 布局文件中添加一个按钮:
```xml
<Button
android:id="@+id/btn_call"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打电话" />
```
3. 在 Activity 中添加以下代码:
```java
public class MainActivity extends AppCompatActivity {
private Button mBtnCall;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mBtnCall = findViewById(R.id.btn_call);
mBtnCall.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String phoneNumber = "10086";
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber));
startActivity(intent);
}
});
}
}
```
这个程序中,当按钮被点击时,会启动拨号界面并自动填写电话号码为 10086。需要注意的是,从 Android 6.0 开始,需要在运行时动态申请 CALL_PHONE 权限,否则会抛出 SecurityException 异常。你可以在代码中添加以下代码来动态申请权限:
```java
if (ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(MainActivity.this,
new String[]{Manifest.permission.CALL_PHONE}, 1);
} else {
// 已经有权限,直接拨打电话
String phoneNumber = "10086";
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNumber));
startActivity(intent);
}
```
这样,当用户第一次点击按钮时,会弹出权限申请对话框,用户同意后才能拨打电话。