Android intent打开百度,拨打电话界面


1,打开百度:


  Intent intent=new Intent("andoid.intent.action.View");
//Action是字符串   andoid.intent.action.View,固定的常量,,,,或者写成Intent intent=new Intent(); intent.setAction("andoid.intent.action.View");
               intent.setAction(Intent.ACTION_VIEW);
//Uri.parse("http://www.baidu.com")把网址解析成URI对象
             intent.setData(Uri.parse("http://www.baidu.com"));
                startActivity(intent);

2,打开拨号界面


1,用Intent.ACTION_DIAL
直接使用就可以,不需要声明

      Intent intent=new Intent();
        intent.setAction(Intent.ACTION_DIAL);
        intent.setData(Uri.parse("tel:1234567"));
        startActivity(intent);

2.用Intent.ACTION_CALL
需要在manifest清单文件中声明。
我的不在manifest声明,报错。。。

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

动态申请拨号权限:

  Intent intent = new Intent();
  //动态申请权限
          if(ContextCompat.checkSelfPermission(MainActivity.this,Manifest.permission.CALL_PHONE)==PackageManager.PERMISSION_GRANTED){
              intent.setAction(Intent.ACTION_CALL);
              intent.setData(Uri.parse("tel:12345678"));
              startActivity(intent);
          }else{
              ActivityCompat.requestPermissions(MainActivity.this,new String[]{Manifest.permission.CALL_PHONE},1);
              intent.setAction(Intent.ACTION_CALL);
              intent.setData(Uri.parse("tel:12345678"));
              startActivity(intent);
          }

发布了57 篇原创文章 · 获赞 1 · 访问量 966

猜你喜欢

转载自blog.csdn.net/qq_45844648/article/details/105362314