如果是从BroadcastReceiver 启动一个新的Activity , 不要忘记i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

public class MyReceiver extends BroadcastReceiver{public static final String action=”acc”;public void onReceive(Context context, Intent intent) {Intent i=new Intent(context,Receivered.class);i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(i);}}


1. 指定act ion 和type
// SIM import

Intent importIntent = new Intent(Intent.ACTION_VIEW);importIntent.setType(“vnd.android.cursor.item/sim-contact”);importIntent.setClassName(“com.android.phone”, “com.android.phone.SimContacts”);menu.add(0, 0, 0, R.string.importFromSim).setIcon(R.drawable.ic_menu_import_contact).setIntent(importIntent);


2. 指定act ion, da ta和type
(1)隐式查找type
示例代码:

uri: content://simcontacts/simPeople/(id)intent = new Intent(“android.intent.action.SIMEDIT”,uri);startActivity(intent);

程序会根据data中的uri去查找匹配的type(必须的)
provider中的getType()
case SIM_PEOPLE_ID:
return “vnd.android.cursor.item/sim-contact”;

配置文件中的filter设定
AndroidManifest.xml
也可以自己设定type,但只能使用 setDataAndType()

3. 其他设定intent的属性方式

Intent setComponent(ComponentName component)Intent setClassName(Context packageContext, String className)Intent setClassName(String packageName, String className)Intent setClass(Context packageContext, Class cls)


打开其他APK文件的ACTIVITY

Intent mIntent = new Intent();ComponentName comp = new ComponentName(“com.android.a”,”com.android.a.AbcActivity” );mIntent.setComponent(comp);mIntent.setAction(“android.intent.action.MAIN”);startActivity(mIntent);


显示网页:

 Uri uri = Uri.parse(“http://www.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);


路径规划:

1. Uri uri = Uri.parse(“http://maps.google.com/maps?f=d&saddr=startLat%20startLng&daddr=endLat%20endLng&hl=en”);

2. Intent it = new Intent(Intent.ACTION_VIEW,URI);

3. startActivity(it);

拨打电话:
调用拨号程序

Uri uri = Uri.parse(“tel:xxxxxx”); Intent it = new Intent(Intent.ACTION_DIAL, uri); startActivity(it);

直接拨号

 Uri uri = Uri.parse(“tel.xxxxxx”);Intent it =new Intent(Intent.ACTION_CALL,uri);


要使用这个必须在配置文件中加入权限

发送SMS/MMS
调用发送短信的程序

Intent it = new Intent(Intent.ACTION_VIEW);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);


发送彩信

 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”));


播放多媒体

//方法1.

Uri uri = Uri.parse(“file:///sdcard/song.mp3″);Intent it = new Intent(Intent.ACTION_VIEW, uri);// it.addFlags(it.FLAG_ACTIVITY_NEW_TASK);//非必须选项it.setDataAndType(uri, “audio/mp3″);context.startActivity(it);


//方法2.


 Intent it = new Intent(Intent.ACTION_VIEW); Uri uri = Uri.parse(“file:///sdcard/song.mp3″); it.setDataAndType(uri, “audio/mp3″); startActivity(it);


//方法3. 启动一个播放器并播放一个系统声音

Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, “1″); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it);Uninstall 程序 Uri uri = Uri.fromParts(“package”, strPackageName, null); Intent it = new Intent(Intent.ACTION_DELETE, uri); startActivity(it);



uninstall apk

Uri uninstallUri = Uri.fromParts(“package”, “xxx”, null);returnIt = new Intent(Intent.ACTION_DELETE, uninstallUri);



install apk

 Uri installUri = Uri.fromParts(“package”, “xxx”, null);returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);



play audio

Uri playUri = Uri.parse(“file:///sdcard/download/everything.mp3″);returnIt = new Intent(Intent.ACTION_VIEW, playUri);

哈,原来你还没贴完,我再加个:

//发送附件

 Intent it = new Intent(Intent.ACTION_SEND); it.putExtra(Intent.EXTRA_SUBJECT, “The email subject text”);it.putExtra(Intent.EXTRA_STREAM, “file:///sdcard/eoe.mp3″);sendIntent.setType(“audio/mp3″);startActivity(Intent.createChooser(it, “Choose Email Client”));



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


//显示指定应用的详细页面(这个好像不支持了,找不到app_id)

Uri uri = Uri.parse(“market://details?id=app_id”);Intent it = new Intent(Intent.ACTION_VIEW, uri);startActivity(it);




更多相关文章

  1. Android Gridview 禁止滚动的二种方法
  2. 如何实现Android重启应用程序代码 ?
  3. Android 去掉title bar的3个方法
  4. android 应用程序 集合

随机推荐

  1. Android 修改Camera默认preview size预览
  2. 仿网易新闻顶部滑动条效果
  3. Android App程序运行过程 ActivityThread
  4. Android(安卓)camera系统开发之IPC (三)
  5. Android之使用bindService启动服务
  6. android hwcomposer 在视频播放中的应用
  7. Android之粘性广播理解
  8. Android Retrofit 源码系列(五)~ 设计模式
  9. Android判断当前网络是否可用--示例代码
  10. Android SDK安装,无法连接google