设为首页 收藏本站 662p开源网
开启辅助访问 切换到宽版

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

切换风格 立即注册 找回密码

安卓教程网

新浪微博达人勋

3325

积分

864

威望

346

金钱

Rank: 8Rank: 8

积分
3325

社区QQ达人活跃会员热心会员推广达人宣传达人突出贡献

发表于 2016-10-31 18:00:15 | 显示全部楼层 |阅读模式
更多
打电话应用
system/app/phone.apk  这个是打电话应用,这个java API 不允许应用级程序员改写,系统级才可以
system/app/dialer.apk  这个是拨号器应用,可以重写一个第三方的拨号器

1.在res-layout-activity_main.xml里定义布局:
  1. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  2.     xmlns:tools="http://schemas.android.com/tools"
  3.     android:layout_width="match_parent"
  4.     android:layout_height="match_parent"
  5.     android:paddingBottom="@dimen/activity_vertical_margin"
  6.     android:paddingLeft="@dimen/activity_horizontal_margin"
  7.     android:paddingRight="@dimen/activity_horizontal_margin"
  8.     android:paddingTop="@dimen/activity_vertical_margin"
  9.     tools:context=".MainActivity"
  10.     android:orientation="vertical" >
  11.     <TextView
  12.         android:layout_width="wrap_content"
  13.         android:layout_height="wrap_content"  // 组件必须设置宽高,否则不能通过编译
  14.         android:text="请输入号码:"
  15.         />
  16.     <EditText
  17.         android:layout_width="match_parent"
  18.         android:layout_height="wrap_content"  
  19.         android:id="@+id/et"     
  20.         />
  21.     <Button
  22.          android:layout_width="match_parent"
  23.          android:layout_height="wrap_content"
  24.          android:text="拨打"      
  25.          android:id="@+id/bt"    // 如果要在java代码中操作某个组件,则组件需要设置id,这样才能在代码中通过id拿到这个组件
  26.         />

  27. </LinearLayout>
复制代码
2.src里写源代码
  1. public class MainActivity extends Activity {

  2.     @Override
  3.     protected void onCreate(Bundle savedInstanceState) {  //App创建时调用由操作系统调用此方法
  4.         super.onCreate(savedInstanceState);
  5.         setContentView(R.layout.activity_main);      
  6.         //给按钮设置点击监听
  7.         //拿到按钮对象
  8.         Button bt = (Button) findViewById(R.id.bt);      
  9.         //设置监听
  10.         bt.setOnClickListener(new Myclick());
  11.     }

  12.     class Myclick implements OnClickListener{
  13.         @Override
  14.         public void onClick(View arg0) {
  15.             // TODO Auto-generated method stub
  16.             System.out.print("按钮被点击了");
  17.             EditText et = (EditText) findViewById(R.id.et);
  18.             String phone =  et.getText().toString();
  19.             //在一个应用中启动另一个应用,在拨号器应用里启动打电话应用
  20.                //Android系统中基于动作机制,来调用系统的应用,你告诉系统你想做什么动作,系统就会把能做这个动作的应用给你,如果没有这个应用,会抛异常
  21.                //设置动作,通过意图告知系统
  22.             Intent intent =  new Intent();
  23.             intent.setAction(Intent.ACTION_CALL);//设置动作,打电话
  24.             intent.setData(Uri.parse("tel:"+phone));
  25.             startActivity(intent);//把意图告诉系统
  26.         }
  27.         
  28.     }
  29.   
  30.    
  31. }
复制代码

3.添加权限,在清单文件里,底下的permission-add-UsesPermission-右侧的name进行选择相应的权限,在代码中会自动生成,如下:
<uses-permission android:name="android.permission.CALL_PHONE"/>


RunAs--AndroidApplication,运行结果如下:


补充一点:
事件监听这个是常见的
点击事件的四种写法
第一种
* 定义一个MyListener实现onClickListener接口

        Button bt1 = (Button) findViewById(R.id.bt1);
        bt1.setOnClickListener(new MyListener());

第二种
* 定义一个匿名内部类实现onClickListener接口

        Button bt2 = (Button) findViewById(R.id.bt2);
        bt2.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                System.out.println("第二种");
               
            }
        });

第三种
* 让当前activity实现onClickListener接口

        Button bt3 = (Button) findViewById(R.id.bt3);
        bt3.setOnClickListener(this);

第四种
* 给Button节点设置onClick属性,

         android:onClick="click"

* 然后在activity中定义跟该属性值同名的方法

        public void click(View v){
            System.out.println("第四种");
        }

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x

新浪微博达人勋

80

积分

25

威望

1

金钱

Rank: 2

积分
80
发表于 2016-10-31 18:01:14 | 显示全部楼层
我也是坐沙发的

新浪微博达人勋

864

积分

287

威望

3

金钱

Rank: 4

积分
864
发表于 2016-11-4 07:02:45 | 显示全部楼层
前排支持下了哦~

新浪微博达人勋

54

积分

18

威望

0

金钱

Rank: 2

积分
54
发表于 2016-11-10 19:58:26 | 显示全部楼层
发发呆,回回帖,工作结束~

新浪微博达人勋

897

积分

299

威望

0

金钱

Rank: 4

积分
897
发表于 2016-11-11 13:22:17 | 显示全部楼层
路过

新浪微博达人勋

3050

积分

826

威望

286

金钱

Rank: 8Rank: 8

积分
3050

社区QQ达人活跃会员热心会员推广达人宣传达人突出贡献

发表于 2016-11-14 15:32:31 | 显示全部楼层
支持,赞一个

新浪微博达人勋

51

积分

17

威望

0

金钱

Rank: 2

积分
51
发表于 2016-11-19 03:36:47 | 显示全部楼层
为保住菊花,这个一定得回复!

新浪微博达人勋

45

积分

15

威望

0

金钱

Rank: 1

积分
45
发表于 2016-11-20 04:39:56 | 显示全部楼层
留意一下

新浪微博达人勋

66

积分

22

威望

0

金钱

Rank: 2

积分
66
发表于 2016-11-25 21:27:22 | 显示全部楼层
一直在看

新浪微博达人勋

54

积分

18

威望

0

金钱

Rank: 2

积分
54
发表于 2016-11-26 03:41:11 | 显示全部楼层
珍爱生命,果断回帖。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Archiver|手机版|小黑屋|安卓教程网 ( 粤ICP备12089784号  

GMT+8, 2017-2-23 21:55 , Processed in 1.404060 second(s), 58 queries .

Powered by Discuz X3.1

© 2001-2013 IOS教程网

快速回复 返回顶部 返回列表