Intent.createChooser(ntent target, CharSequence title)
其实 大家对该功能第一影响就是ApiDemo 里面的 其只有区区几行代码 提取为:
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("audio/*");
startActivity(Intent.createChooser(intent, "Select music"));
执行之 会弹出一个对话框 效果为:
其实 对于这段代码 大家应该都能猜出什么意思 现自己模拟并理解之
[代码]
1. 定义TestActivity 用于根据传入Uri 播放目标
public class TestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.setTitle("TestActivity");
Intent i = this.getIntent();
Uri u = i.getData();
try {
playMusic(u);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void playMusic(Uri uri) throws IllegalArgumentException, SecurityException, IllegalStateException, IOException{
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(this, uri);
mp.prepare();
mp.start();
}
}
2. 在AndroidManifest 注册TestActivity
<activity android:name=".TestActivity"
android:label="TestActivity">
<intent-filter>
<action android:name="android.intent.action.GET_CONTENT" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.OPENABLE" />
<data android:mimeType="audio/music1" />
</intent-filter>
</activity>
3. 使用TestActivity
public void sendChooser(){
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setDataAndType(Uri.parse("file:///sdcard/DCIM/cc.mp3"), "audio/music1");
startActivity(Intent.createChooser(intent, "Select music1 app"));
}
4. emulator 运行截图:
分享到:
相关推荐
`startActivity(Intent.createChooser(shareIntent, "请选择分享方式"))`这一行代码会启动一个分享对话框,显示所有能够接收"text/plain"类型数据的应用,用户可以从中选择一个来完成分享。 在实际开发中,我们可能...
像qq,微信那样 调用代码Intent intent=new Intent(Intent.ACTION_SEND); intent.setType("text/plain");... startActivity(Intent.createChooser(intent, "请选择")); 可以选择分享到自己的app
例如,我们可以使用Intent.createChooser方法来选择要分享到的App。 在使用Intent.ACTION_SEND进行分享时,我们需要注意以下几点: 1. 设置合适的MIME类型,以便正确地传递分享的数据。 2. 使用Intent.putExtra...
例如,如果你有一个`Intent`用来发送邮件,但系统中有多个邮件应用可供选择,`createChooser()` 就会显示一个对话框,让用户决定用哪个应用来发送邮件。 下面我们将深入探讨`Intent.createChooser()` 的实现原理: ...
Android 使用 Intent.ACTION_SEND 分享图片和文字内容的示例代码详解 Android mobile 操作系统中,Intent.ACTION_SEND 是一个非常常用的 Action,主要用于实现分享功能,例如分享图片、文字内容等。在本文中,我们...
startActivity(Intent.createChooser(intent, "选择邮件客户端")); ``` ### 7. 发送短信 通过`ACTION_VIEW`结合`tel:`协议,可以预填充短信内容。 ```java Uri uri = Uri.parse("tel:10086"); Intent intent = ...
本文将详细介绍如何使用Android的`Intent`机制来简化分享流程。 #### 简单Intent构建 在Android中,`Intent`是一种消息对象,它用于启动活动或服务,也可以用于传递数据。为了实现分享功能,我们需要创建一个`...
startActivity(Intent.createChooser(it, "Choose Email Client")); ``` 或同时设置抄送人: ```java Intent it = new Intent(Intent.ACTION_SEND); String[] tos = {"me@abc.com"}; String[] ccs = {"you@abc.com"}...
可以使用 Intent.createChooser() 的方法来创建 Intent,并传入想要的 Sting 作为标题。 以wallpaper 选择框为例,当在Launcher workspace的空白区域上长按,会弹出wallpaper的选择框,选择框的标题为”Choose ...
Intent的构建和使用需要根据具体需求进行定制,同时,为了确保用户体验,通常会使用`Intent.createChooser()`创建一个选择器,让用户可以选择适合的APP来处理Intent。总之,理解并熟练掌握Intent的用法是Android开发...
- 同样,使用`startActivity(Intent.createChooser(intent, "分享到..."))`显示选择器。 ```java String phoneNumber = "1234567890"; Intent smsIntent = new Intent(Intent.ACTION_SENDTO); smsIntent.setData...
Intent.createChooser(returnIt, "Choose Email Client"); ``` 以上代码创建了一个完整的邮件发送`Intent`,包括收件人、抄送人、邮件主题和内容等信息。 ##### 10. 发送短信 ```java Uri smsUri = Uri.parse(...
通常,使用`Intent.createChooser(intent, "分享到")`会创建一个分享对话框,展示所有可接收此Intent的应用,用户可以选择一个来完成分享操作。如果你想自定义分享界面,也可以不使用Intent.createChooser,而是手动...
- 跳转到设置:使用Intent.createChooser()可以让用户选择任何能够发送电子邮件的应用,比如Gmail或Outlook。 总之,Intent是Android系统中极其关键的组件,理解和掌握Intent的使用对于Android开发至关重要。通过...
startActivity(Intent.createChooser(intent, "Share Image")); ``` 以上仅展示了部分常见的Intent用法,实际上Intent的功能远不止这些,比如启动其他应用的特定Activity、启动服务、发送广播等。在实际开发中,...
startActivity(Intent.createChooser(intent, "选择邮件应用")); ``` 4. **打开系统设置**:可以使用ACTION_SETTINGS来打开系统的设置应用。 ```java Intent intent = new Intent(Settings.ACTION_SETTINGS); ...
使用`Intent.createChooser()`方法创建一个邮件应用选择器,这样用户可以选择他们喜欢的邮件客户端来发送邮件。如果不指定选择器,系统可能会默认使用已设置的邮件应用。 5. **处理权限** 在Android 6.0及以上...