有这样的一种业务:
1、有一个页面,页面上有电话号码和一些内容。我的目的是把电话号码和内容接受到,然后发短信,调用的是android系统的发短信功能。也就是直接弹出发短信界面,这个界面有电话号码和短信内容,很显然把电话号码和短信内容显示到指定地方。那么这么做:
Intent intent = new Intent(Intent.ACTION_VIEW);intent.putExtra("address", "1222222223456");intent.putExtra("sms_body", "I am joe!");intent.setType("vnd.android-dir/mms-sms");startActivity(intent);
2、有一个页面,可能有一个按钮,我要触发的事件是:点击这个按钮我要查看你手机的所有短信列表:
Intent intent = new Intent( ); ComponentName comp = new ComponentName("com.android.mms","com.android.mms.ui.ConversationList");intent.setComponent(comp); intent.setAction("android.intent.action.VIEW"); startActivity(intent);
3、有一个页面,可能有一个按钮,我要触发的事件是:点击这个按钮我要查看你手机的所有电话联系人的列表:
Intent intent = new Intent(Intent.ACTION_VIEW, ContactsContract.Contacts.CONTENT_URI);startActivity(intent);
注意:
如果你只是为了看所有联系人列表不做任何操作,只是点击每项时,我自己去后台做操作,那么这么做:
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);startActivityForResult(intent, 0);
然后重写这个方法onActivityResult(...)
短信和联系人还有很多需求,我这里不提了。
4、当前应用调用其他应用:
1)通过包名:
PackageManager packageManager = OtherApplication.this.getPackageManager(); Intent intent=new Intent(); intent =packageManager.getLaunchIntentForPackage("com.joe.internet"); startActivity(intent);
2)通过类名:
Intent intent=new Intent();intent.setComponent(new ComponentName("com.joe.internet", "com.joe.internet.Main"));startActivity(intent);