电话拨号器使用android,Android开发之电话拨号器

1.布局文件代码如下:

b15f7944e9527d22a1ef6f2a1f37e9c6.png

实现过程中,EditText提出警告the text field does not specify an inputType or a hint,原因是EditText控件需要定义inputType属性,其属性可以自行在网上查找,Android:inputType="number|phone"表示输入为数字或号码;还出现警告unexpected text found in layout file:"".然后我仔细地在layout文件中查找多余的""都没找到,最后ctrl+shift+F格局化文件后就可以看到多余的"".删除即可。

2.Java代码如下:

4f4ce8fb5eb6fec8c14168bde7d51ed1.png

Intent表示意图类,是Android开发中的媒介,此处用于两个Activity之间传数据。Android系统自身拨号Activity对应的Androidmainfest.xml中有声明一些属性如下:

1a4a539f0934e5d71be37fe970486d16.png

故我们需要调用Android系统自身拨号Activity时必须保持中某些属性一致,这样经Filter过滤后才能匹配找到对应的Activity并调用启动。

注:当我们在程序中需要启动例外的activity时,很多时候我们是使用的隐式调用,即我们不直接指定要跳转的Activity,而是为Intent提供一些相关的参数,让其自动去和AndroidManifest.xml中已有的Activity去匹配(此处采用startActivity()方法去实现该匹配过程),而IntentFilter(Intent 过滤器)在xml中有三個主要的参数:action,categary,data。对于隐式调用的intent,android默认给加上一个CATEGORY_DEFAULT,这样的话如果intent filter中没有android.intent.category.DEFAULT这个category的话,匹配测试就会失败。所以,如果你的 activity支持接收implicit intent的话就一定要在intent filter中加入android.intent.category.DEFAULT。

例外情况是:android.intent.category.MAIN和android.intent.category.LAUNCHER的filter中没有必要加入android.intent.category.DEFAULT,当然加入也没有问题。

3.在AndroidMainfest.xml中写入权限时出现 tag appears after 这种警告信息,原因是权限没有放在之前。之所以要写入权限是因为将app安装到手机时需要获取手机Android系统的这一项权限,只有在app中写入了这个权限它才能顺利地在手机中安装运行。出现这个警告warining:"not targeting the latest version of Android;compatibility modest apply.consider testing and updating this version.consult the android.os.Build........是在提醒我们没有匹配使用最新的sdk版本,可能导致app在最新的系统上面无法利用最新的特性或功能,去掉这个警告的办法就是把uses-sdk标签中的android:targetSdkVersion属性改为你电脑上面最新的sdk版本,例如我的电脑上最新的sdk是android4.4,它的版本号是19,那么我应该写成“android:targetSdkVersion="19"”,这样就不会报错了。

42379d28bf4fd8b753894ca215620a43.png

最后两个虚拟机通话效果:

575940bfd79fb96e2fc58c90d8dd958a.png

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值