当前位置 : 主页 > 编程语言 > java >

【Android】MyTool 工具界面:百度、拨号、一键拨号

来源:互联网 收集:自由互联 发布时间:2022-08-15
文章目录 ​​MyTool 工具界面:百度、拨号、一键拨号​​ ​​♦ 回顾​​ ​​♦ 设计 activity_my_tool.xml 界面​​ ​​♦ 编写 MyToolActivity 实现功能​​ ​​♦ 修改 AndroidManifest.xml 文


文章目录

  • ​​MyTool 工具界面:百度、拨号、一键拨号​​
  • ​​♦ 回顾​​
  • ​​♦ 设计 activity_my_tool.xml 界面​​
  • ​​♦ 编写 MyToolActivity 实现功能​​
  • ​​♦ 修改 AndroidManifest.xml 文件授予拨号权限​​

MyTool 工具界面:百度、拨号、一键拨号

♦ 回顾

通过上一节的学习,我们实现了登陆后工具界面的跳转,如下图所示。今天,就要在这个界面中实现百度、拨号、一键拨号。

【Android】MyTool 工具界面:百度、拨号、一键拨号_android

​​返回顶部​​


♦ 设计 activity_my_tool.xml 界面

【Android】MyTool 工具界面:百度、拨号、一键拨号_android_02

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.myapplication.MyToolActivity"
android:background="@drawable/main_page">

<TextView
android:id="@+id/welcome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:layout_marginStart="28dp"
android:layout_marginLeft="28dp"
android:layout_marginBottom="25dp"
android:text=""
android:textColor="@android:color/white"
android:textSize="20dp"/>

<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="58dp"
android:text="My Tools"
android:textColor="@android:color/white"
android:textSize="25dp"
android:textStyle="bold"/>

<Button 百度
android:id="@+id/net"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginStart="39dp"
android:layout_marginLeft="39dp"
android:layout_marginTop="182dp"
android:text="百度"
android:textSize="16dp"/>

<Button 拨号
android:id="@+id/call"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="182dp"
android:text="拨号"
android:textSize="16dp"/>

<Button 一键拨号
android:id="@+id/quick_call"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_marginTop="182dp"
android:layout_marginEnd="39dp"
android:layout_marginRight="39dp"
android:text="快速拨号"
android:textSize="16dp"/>
</RelativeLayout>

​​返回顶部​​


♦ 编写 MyToolActivity 实现功能

public class MyToolActivity extends AppCompatActivity {

TextView welcome;
Button net, call, quick_call;

//权限请求:载入界面、特定情况触发
//定义权限 --- 动态权限,申请哪一个就启动哪一个,通常为常量
private static String[] PERMISSIONS_STORAGE = {
Manifest.permission.CALL_PHONE
};
//请求状态码
private static int REQUEST_PERMISSION_CODE = 1;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my_tool);

// 欢迎信息
welcome = findViewById(R.id.welcome);
final Intent intent = getIntent();
intent.getStringExtra("username");
welcome.setText("欢迎您" + intent.getStringExtra("username"));

// 获取工具组件
net = findViewById(R.id.net);
call = findViewById(R.id.call);
quick_call = findViewById(R.id.quick_call);

// 浏览器 --- 百度
net.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1 = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.baidu.com"));
startActivity(intent1);
}
});
//特定情况下触发权限
//首先判断版本
if(Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP){
// 检查当前的权限
if (ActivityCompat.checkSelfPermission(MyToolActivity.this,Manifest.permission.CALL_PHONE) !=
PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(MyToolActivity.this,PERMISSIONS_STORAGE,REQUEST_PERMISSION_CODE);
}
}
// 拨号
call.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1 = new Intent();
intent1.setAction(Intent.ACTION_CALL);
intent1.setData(Uri.parse("tel:13222126167"));
startActivity(intent1);
}
});
// 快速拨号
quick_call.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent1 = new Intent();
intent1.setAction(Intent.ACTION_DIAL);
intent1.setData(Uri.parse("tel:13222126167"));
startActivity(intent1);
}
});
}
}

​​返回顶部​​


♦ 修改 AndroidManifest.xml 文件授予拨号权限

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapplication_test">
<uses-permission android:name="android.permission.CALL_PHONE" /> 授予拨号权限
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name="com.example.myapplication.MyToolActivity"></activity>
<activity android:name="com.example.myapplication.MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>

​​返回顶部​​


效果展示:

【Android】MyTool 工具界面:百度、拨号、一键拨号_android_03

​​返回顶部​​


​​上一篇:【Android】用户登录界面功能实现​​​                               

  ​​下一篇:MyTool 工具界面:手电筒​​


上一篇:QuickHit 项目
下一篇:没有了
网友评论