当前位置: 代码迷 >> Android >> Hello Android - 调用通电话和发短信及intent一些其他用法
  详细解决方案

Hello Android - 调用通电话和发短信及intent一些其他用法

热度:41   发布时间:2016-04-24 12:06:25.0
Hello 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:xxx@abc.com");??
? ? Intent it = new Intent(Intent.ACTION_SENDTO, uri);??
? ? startActivity(it);

?

? ? Intent it = new Intent(Intent.ACTION_SEND);??
? ? it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");??
? ? 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={"me@abc.com"};????
? ? String[] ccs={"you@abc.com"};????
? ? 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);

?

?

总结:都好简单哦,但是避免自己忘掉,就写下来了,以后忘了来看看吧。

  相关解决方案