Android Intent 的几种用法

本文提供了多个 Android Intent 的使用案例,包括启动网页、地图导航、拨打电话、发送短信和邮件等常见功能的实现方式。
显示网页
   Uri uri = Uri.parse("http://www.google.com");
   Intent mIntent = new Intent(Intent.ACTION_VIEW , uri);
   startActivity(mIntent);
显示地图
   Uri uri = Uri.parse("geo:36.123422,116.234234");
   Intent mIntent = new Intent(Intent.ACTION_VIEW,uri);
   startActivity(mIntent);
路径规划
   Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=zh");
   Intent mIntent = new Intent(Intent.ACTION_VIEW,uri);
   startActivity(mIntent);
拨打电话
   Uri uri = Uri.parse("tel:13980991580");
   Intent mIntent = new Intent(Intent.ACTION_VIEW, uri);
   startActivity(mIntent);
调用发送短信程序
   Intent mIntent = new Intent(Intent.ACTION_VIEW);
   mIntent.putExtra("sms_body","hello");
   mIntent.setType("vnd.android-dir/mms-sms");
   startActivity(mIntent);
发送短信
   Uri uri = Uri.parse("smsto:13980991580");
   Intent mIntent = new Intent(Intent.ACTION_VIEW,uri);
   mIntent.putExtra("sms_body" , "hello");
   startActivity(mIntent);
发送彩信
   Uri uri = Uri.parse("content://media/external/images/media/23");
   Intent mIntent = new Intent(Intent.ACTION_SEND);
   mIntent.putExtra("sms_body","hello");
   mIntent.putExtra(Intent.EXTRA_STREAM,uri);
   mIntent.setType("image/png");
   startActivity(mIntent);
发送Email
   Uri uri = Uri.parse("mailto:scylwhy@gmail.com");
   Intent mIntent = new Intent(Intent.ACTION_SENDTO , uri);
   startActivity(mIntent);
   -----------------------------------------------------
   Intent mIntent = new Intent(Intent.ACTION_SEND);
   mIntent.putExtra(Intent.EXTRA_EMAIL,"scylwhy@gmail.com");
   mIntent.putExtra(Intent.EXTRA_TEXT,"this is email body");
   mIntent.setType("text/plain");
   startActivity(Intent.createChooser(mIntent,"hello");
   -----------------------------------------------------------
   Intent mIntent = new Intent(Intent.ACTION_SEND);
   String[] tos = {"scylwhy@gmail.com"};
   String[] ccs = {"scylyj@gmail.com"};
   mIntent.putExtra(Intent.EXTRA_EMAI,tos);
   mIntent.putExtra(Intent.EXTRA_CC , ccs);
   mIntent.putExtra(Intent.EXTRA_TEXT , "this is the email body");
   mIntent.putExtra(Intent.EXTRA_SUBJECT , "this is email subject");
   mIntent.setType("message/rfc822");
   startActivity(Intent.createChooser(mIntent , "Chooser Email Client "));
   ---------------------------------------------------------------
   Intent mIntent = new Intent(Intent.ACTION_SEND);
   mIntent.putExtra(Intent.EXTRA_SUBJECT , "this is email subject ");
   mIntent.putExtra(Intent.EXTRA_STREAM, "file:///sdcard/.....");
   mIntent.setType("audio/mp3");
   startActivity(Intent.createChooser(mIntent , "Choose Email Client"));
播放多媒体
   Intent mIntent = Intent(Intent.ACTION_VIEW);
   Uri uri = Uri.parse("file:///sdcard/song.mp3");
   mIntent.setDataAndType(uri , "audio/mp3");
   startActivity(mIntent);
   ----------------------------------------------------------------
   Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERAL_CONTENT_URI, "1");
   Intent mIntent = new Intent(Intent.ACTION_VIEW , uri);
   startActivity(mIntent);
卸载程序
   Uri uri = Uri.fromParts("package" , strPackageName , null);
   Intent mIntent = new Intent(Intent.ACTION_DELETE , uri);
   startActivity(mIntent);
   --------------------------------------------------------------
   Uri uri = Uri.fromParts("package" , "xxx" , null);
   returnIt = new Intent(Intent.ACTION_DELETE , uri);
安装程序
   Uri uri = Uri.fromParts("package" , "xxxx", null);
   returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED , uri);
播放视频
   Uri uri = Uri.parse("file:///sdcard/xxx.mp3");
   returnIt = new Intent(Intent.ACTION_VIEW , uri);
搜索程序market
   Uri uri = Uri.parse("market://search?q=pname:pkg_name");
   Intent mIntent = new Intent(Intent.ACTION_VIEW , uri);
   startActivity(mIntent);

   ---------------------------------------------------------------
    Uri uri = Uri.parse("market://details?id=app_id");
    Intent mIntent = new Intent(Intent.ACTION_VIEW , uri);
    startActivity(mIntent);







































Android Intent是一种用于在应用程序之间传递消息的机制。它允许您启动新的Activity、Service或BroadcastReceiver等组件,或者在当前Activity中启动其他应用程序组件。Intent可以携带数据,并且可以在不同的应用程序之间共享。 在Android中,常见的Intent用法包括: 1.启动Activity Intent可以用来启动另一个Activity。例如,您可以使用以下代码启动一个名为"SecondActivity"的Activity: ``` Intent intent = new Intent(this, SecondActivity.class); startActivity(intent); ``` 这将在当前Activity中启动一个新的Activity。 2.传递数据 Intent还可以用来在不同的Activity之间传递数据。例如,您可以使用以下代码将一个字符串数据传递到另一个Activity: ``` Intent intent = new Intent(this, SecondActivity.class); intent.putExtra("message", "Hello from MainActivity"); startActivity(intent); ``` 在接收Activity中,可以使用以下代码获取传递的数据: ``` String message = getIntent().getStringExtra("message"); ``` 3.启动Service Intent可以用来启动另一个Service。例如,您可以使用以下代码启动一个名为"MyService"的Service: ``` Intent intent = new Intent(this, MyService.class); startService(intent); ``` 4.发送Broadcast Intent还可以用来发送Broadcast。例如,您可以使用以下代码发送一个名为"com.example.MY_BROADCAST"的Broadcast: ``` Intent intent = new Intent("com.example.MY_BROADCAST"); sendBroadcast(intent); ``` 这将发送一个Broadcast给所有注册了该Broadcast的应用程序。 5.指定Action Intent可以指定一个Action,以便接收方可以识别它并执行相应的操作。例如,以下代码指定了一个名为"com.example.ACTION_DO_SOMETHING"的Action: ``` Intent intent = new Intent(); intent.setAction("com.example.ACTION_DO_SOMETHING"); startActivity(intent); ``` 在接收方中,可以使用以下代码获取Action: ``` String action = getIntent().getAction(); ``` 6.设置类型 Intent可以设置一个数据类型,以便接收方可以根据该类型来处理数据。例如,以下代码指定了一个MIME类型为"image/jpeg"的数据类型: ``` Intent intent = new Intent(); intent.setType("image/jpeg"); startActivity(intent); ``` 在接收方中,可以使用以下代码获取数据类型: ``` String type = getIntent().getType(); ``` 以上是Android Intent几种常见用法。使用Intent可以方便地在不同的组件之间传递数据和消息,并且可以执行各种操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值