Android:调用打电话和发短信及intent一些其他用法

1.打电话

可以自己写界面,在button的单击事件中添加如下代码即可:

Intent intent = new Intent();

   intent.setAction("android.intent.action.CALL");

   intent.setData(Uri.parse("tel:"+
mobile));//mobile为你要拨打的电话号码,模拟器中为模拟器编号也可

   startActivity(intent);

需要添加打电话权限:

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

2.发短信

和打电话差不多,在button的单击事件中添加如下代码:

SmsManager
smsManager = SmsManager.getDefault();

    ArrayList<String> texts =
smsManager.divideMessage(content);//拆分短信,短信字数太多了的时候要分几次发

    for(String text : texts){

     smsManager.sendTextMessage(mobile, null, text,
null, null);//发送短信,mobile是对方手机号
    }

对应发短信权限:

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

下面是转载来的其他的一些Intent用法实例

显示网页
 
  Uri uri = Uri.parse("http://google.com");  

    Intent it = new Intent(Intent.ACTION_VIEW, uri);  
    startActivity(it);

显示地图
 
  Uri uri = Uri.parse("geo:38.899533,-77.036476");  

    Intent it = new Intent(Intent.ACTION_VIEW,
uri);   
   
startActivity(it);   
 
  //其他 geo URI 範例  
 
  //geo:latitude,longitude  

    //geo:latitude,longitude?z=zoom  

    //geo:0,0?q=my+street+address  

    //geo:0,0?q=business+near+city  

   
//google.streetview:cbll=lat,lng&cbp=1,yaw,,pitch,zoom&mz=mapZoom

路径规划
 
  Uri uri =
Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en");  
    Intent it = new
Intent(Intent.ACTION_VIEW, uri);  

    startActivity(it);  

    //where startLat, startLng, endLat, endLng are a long with 6
decimals like: 50.123456

打电话
 
  //叫出拨号程序 

    Uri uri = Uri.parse("tel:0800000123");  

    Intent it = new Intent(Intent.ACTION_DIAL, uri);  
    startActivity(it);  
    //直接打电话出去  
    Uri uri =
Uri.parse("tel:0800000123");  
 
  Intent it = new Intent(Intent.ACTION_CALL, uri);  

    startActivity(it);  

    //用這個,要在 AndroidManifest.xml 中,加上  

    //<uses-permission id="android.permission.CALL_PHONE" />

传送SMS/MMS

    //调用短信程序 
    Intent it = new
Intent(Intent.ACTION_VIEW, uri);  

    it.putExtra("sms_body", "The SMS text");   
   
it.setType("vnd.android-dir/mms-sms");  

    startActivity(it); 
 
  //传送消息 

    Uri uri = Uri.parse("smsto://0800000123");  

    Intent it = new Intent(Intent.ACTION_SENDTO, uri);  
    it.putExtra("sms_body", "The SMS
text");  
   
startActivity(it); 
 
  //传送 MMS  
    Uri uri =
Uri.parse("content://media/external/images/media/23");  

    Intent it = new Intent(Intent.ACTION_SEND);   
    it.putExtra("sms_body", "some
text");   
   
it.putExtra(Intent.EXTRA_STREAM, uri);  

    it.setType("image/png");   

    startActivity(it);

传送 Email

    Uri uri = Uri.parse("mailto:[email protected]");  

    Intent it = new Intent(Intent.ACTION_SENDTO, uri);  
    startActivity(it);

Intent it = new Intent(Intent.ACTION_SEND);  

    it.putExtra(Intent.EXTRA_EMAIL, "[email protected]");  
    it.putExtra(Intent.EXTRA_TEXT, "The
email body text");  
   
it.setType("text/plain");  
 
  startActivity(Intent.createChooser(it, "Choose Email Client"));

Intent it=new
Intent(Intent.ACTION_SEND);    

    String[] tos={"[email protected]"};    

    String[] ccs={"[email protected]"};    

    it.putExtra(Intent.EXTRA_EMAIL, tos);    
    it.putExtra(Intent.EXTRA_CC,
ccs);    
   
it.putExtra(Intent.EXTRA_TEXT, "The email body
text");    
   
it.putExtra(Intent.EXTRA_SUBJECT, "The email subject
text");    
   
it.setType("message/rfc822");    

    startActivity(Intent.createChooser(it, "Choose Email
Client"));

//传送附件
    Intent it =
new Intent(Intent.ACTION_SEND);  

    it.putExtra(Intent.EXTRA_SUBJECT, "The email subject
text");  
   
it.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/mysong.mp3");  
   
sendIntent.setType("audio/mp3");  

    startActivity(Intent.createChooser(it, "Choose Email
Client"));

播放多媒体

       Uri uri =
Uri.parse("file:///sdcard/song.mp3");  

       Intent it = new Intent(Intent.ACTION_VIEW,
uri);  

       it.setType("audio/mp3");  
      
startActivity(it); 

       Uri uri =
Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI,
"1");  

       Intent it = new Intent(Intent.ACTION_VIEW,
uri);  

       startActivity(it);

Market 相关

        //寻找某个应用 

        Uri uri =
Uri.parse("market://search?q=pname:pkg_name"); 

        Intent it = new Intent(Intent.ACTION_VIEW,
uri);  
       
startActivity(it);  
   
    //where pkg_name is the full package path for an
application 
       
//显示某个应用的相关信息 
       
Uri uri = Uri.parse("market://details?id=app_id");  

        Intent it = new Intent(Intent.ACTION_VIEW,
uri); 
       
startActivity(it);  
   
    //where app_id is the application ID, find the
ID   
     
  //by clicking on your application on Market home   
        //page, and notice the
ID from the address bar

Uninstall 应用程序

        Uri uri = Uri.fromParts("package", strPackageName,
null); 
        Intent
it = new Intent(Intent.ACTION_DELETE, uri);   

        startActivity(it);

时间: 2024-10-07 01:27:10

Android:调用打电话和发短信及intent一些其他用法的相关文章

Android实例-打电话、发短信和邮件,取得手机IMEI号(XE8+小米2)

结语: 1.不提示发短信卡住,点击没有反映,我猜想,可能是因为我用的是小米手机吧. 2.接收短信报错,我猜想可能是我改了里面的方法吧(哪位大神了解,求指教). 3.project -->options…--> users permitions. 3.1 Send SMS 3.2 Read Phone State权限:将其变成 true即可. 如果 read phone state为 false,程序将启动不了,一直黑屏(我没试,原作者是这么说的,你如果没事可以试一试,试过记得给我说一声哦).

Android学习笔记七:调用打电话、发短信等

系统打电话界面: Intent intent = new Intent(); //系统默认的action,用来打开默认的电话界面 intent.setAction(Intent.ACTION_CALL); //需要拨打的号码 intent.setData(Uri.parse("tel:"+i)); callPhoneAndSendMessage.this.startActivity(intent); 系统发短信界面: Intent intent = new Intent(); //系统

Android双卡打电话和发短信

一.打电话 首先需要申请电话信息权限,AndroidManifest.xml权限配置如下所示. 1 <!-- 打电话的权限 --> 2 <uses-permission android:name="android.permission.CALL_PHONE"/> 3 <uses-permission android:name="android.permission.READ_PHONE_STATE"/> Android5.1及以前

iOS开发中,调用打电话,发短信,打开网址等手机基础功能

1.调用 iOS系统自带mail [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://[email protected]"]]; 2.调用 打电话phone <1>一般在应用中拨打电话的方式是 iphone界面会停留在电话界面 : [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel

iOS开发 调用打电话,发短信

1.调用 自带mail[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://[email protected]"]]; 2.调用 电话phone[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8008808888"]];iOS应用内拨打电话结束后返回应用一般在应用中拨打电话的方

IOS 开发,调用打电话,发短信,打开网址

1.调用 自带mail [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://[email protected]"]]; 2.调用 电话phone [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8008808888"]]; 3.调用 SMS [[UIApplication s

转载-- IOS 开发,调用打电话,发短信,打开网址

1.调用 自带mail [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://[email protected]"]]; 2.调用 电话phone [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://8008808888"]]; 3.调用 SMS [[UIApplication s

iOS应用调用系统打电话、发短信和发邮件功能

摘要: 在应用程序内,调用系统的功能来实现打电话.发短信和发邮件,通过电话号码或者邮箱,直接跳转到系统的功能界面. PS:调试好像只能真机调试,模拟器没有反应,真机就可以跳转,不知道是不是必须真机,但方法肯定是可行的. 1.打电话 应用内调用系统打电话有两种方式: 1)WebView方式 使用WebView来跳转,把电话号码通过URL传递给WebView,这种方式会弹出是否要拨打的提示,可以选择拨打或者不拨打,打完也会自动回到应用界面,推荐. UIWebView *callWebview =[[

adb操作手机打电话、发短信

当我们使用adb命令操作手机的时候经常会报错 这个错误一般是adb的端口(5037)被占用,造成adb server无法启动,解决问题的思路就是查看是哪个程序占用了adb调试端口,然后结束掉它就行. 查找哪个进程占用了5037端口 netstat -aon|findstr "5037" 2.结束对应进程 可以看到PID为12500的程序占用了5037端口,打开任务管理器找到该进程对应程序sjk_daemon.exe,该进程是金山毒霸自带的金山手机助手,强制结束后会自动重启,只有卸掉金山