Intent 的ACTION_CHOOSER和ACTION_PICK_ACTIVITY用法

ACTION_CHOOSER

         用来显示一个供用户选择的应用列表,例如,你要打开一个视频,但是这个设备上有多个app都可以播放视频,这时候就会出现一个列表供用户选择,一般情况下是弹出式的。示例:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
Intent intent2 = new Intent();
intent2.setAction(Intent.ACTION_CHOOSER);
intent2.putExtra(Intent.EXTRA_TITLE, "please selete a app");
intent2.putExtra(Intent.EXTRA_INTENT, intent);
startActivity(intent2);

运行效果:


当点击某个应用的时候就会启动应用。

其实还有另外一种用法,那就是是用Intent的createChooser方法。

  • ACTION_PICK_ACTIVITY

       ACTION_PICK_ACTIVITY和ACTION_CHOOSER用法差不多,但是效果不同,结果也不同。还使用上面的例子,稍作修改:

Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.setType("text/plain");
Intent intent2 = new Intent();
intent2.setAction(Intent.ACTION_PICK_ACTIVITY);
intent2.putExtra(Intent.EXTRA_TITLE, "please selete a app");
intent2.putExtra(Intent.EXTRA_INTENT, intent);
startActivity(intent2);

 修改的地方为红色部分,运行效果如下:



 点击以后呢,效果更不相同,chooser是点击后启动,这个是点击后不启动,那用来干什么啊??其实他是返回一个启动组件的名称。

猜你喜欢

转载自deep-fish.iteye.com/blog/2054119