android短信和电话(联系人)和调用其他应用总结

来源:互联网 发布:2016淘宝降权多久恢复 编辑:程序博客网 时间:2024/06/06 10:56

有这样的一种业务: 

1、有一个页面,页面上有电话号码和一些内容。我的目的是把电话号码和内容接受到,然后发短信,调用的是android系统的发短信功能。也就是直接弹出发短信界面,这个界面有电话号码和短信内容,很显然把电话号码和短信内容显示到指定地方。那么这么做: 
Java代码  收藏代码
  1. Intent intent = new Intent(Intent.ACTION_VIEW);  
  2. intent.putExtra("address""1222222223456");  
  3. intent.putExtra("sms_body""I am joe!");  
  4. intent.setType("vnd.android-dir/mms-sms");  
  5. startActivity(intent);  

2、有一个页面,可能有一个按钮,我要触发的事件是:点击这个按钮我要查看你手机的所有短信列表: 
Java代码  收藏代码
  1. Intent intent = new Intent( );   
  2. ComponentName comp = new ComponentName("com.android.mms","com.android.mms.ui.ConversationList");  
  3. intent.setComponent(comp);   
  4. intent.setAction("android.intent.action.VIEW");   
  5. startActivity(intent);  

3、有一个页面,可能有一个按钮,我要触发的事件是:点击这个按钮我要查看你手机的所有电话联系人的列表: 
Java代码  收藏代码
  1. Intent intent = new Intent(Intent.ACTION_VIEW, ContactsContract.Contacts.CONTENT_URI);  
  2. startActivity(intent);  

注意: 
如果你只是为了看所有联系人列表不做任何操作,只是点击每项时,我自己去后台做操作,那么这么做: 
Java代码  收藏代码
  1. Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);  
  2. startActivityForResult(intent, 0);  

然后重写这个方法onActivityResult(...) 

短信和联系人还有很多需求,我这里不提了。 
4、当前应用调用其他应用: 
1)通过包名: 
Java代码  收藏代码
  1. PackageManager packageManager = OtherApplication.this.getPackageManager();    
  2. Intent intent=new Intent();    
  3. intent =packageManager.getLaunchIntentForPackage("com.joe.internet");    
  4.                 startActivity(intent);  

2)通过类名: 
Java代码  收藏代码
  1. Intent intent=new Intent();  
  2. intent.setComponent(new ComponentName("com.joe.internet""com.joe.internet.Main"));  
  3. startActivity(intent);  
原创粉丝点击