Android 用Intent調用系統中經常被用到的組件

調用系統音樂播放器

1 Intent internt = new Intent(Intent.ACTION_VIEW);2 internt.setDataAndType(Uri.parse(item.url), "audio/mp3");3 internt.setComponent(new ComponentName("com.android.music","com.android.music.MediaPlaybackActivity"));4 startActivity(internt);

調用系統視頻播放器

1 Intent intent = new Intent(Intent.ACTION_VIEW);2 intent .setDataAndType(Uri.parse("/sdcard/a.mp4"), "video/mp4");3 startActivity(intent );

 


發送SMS/MMS
調用發送短信的程序

Intent it = "sms_body", "The SMS text""vnd.android-dir/mms-sms"
Uri uri = Uri.parse("smsto:0800000123");
Intent it = new Intent(Intent.ACTION_SENDTO, uri);
it.putExtra("sms_body", "The SMS text");
startActivity(it);

其二是使用SmsManager: 直接發送短信 

複製代碼

EditText num=(EditText)findViewById(R.id.num);

                EditText content=(EditText)findViewById(R.id.content);

                String mobile=num.getText().toString();

                String smstext=content.getText().toString();                //獲取SmsManager
                SmsManager sms=SmsManager.getDefault();                //如果內容大於70字,則拆分爲多條
                List<String> texts=sms.divideMessage(smstext);                //逐條發送短信

                for(String text:texts)

                {

                    sms.sendTextMessage(mobile, null, text, null, null);

                }                

                //發送結果提示
                Toast.makeText(SendSMS.this, "發送成功", Toast.LENGTH_LONG).show();

複製代碼

 

關於SmsManager

SDK中的介紹:Manages SMS operations such as sending data, text, and pdu SMS messages. Get this object by calling the static method SmsManager.getDefault().

方法:

public void sendTextMessage (String destinationAddress, String scAddress, String text, PendingIntent sentIntent, PendingIntent deliveryIntent)

 

destinationAddress: 收件人地址

scAddress: 短信中心號碼,null爲默認中心號碼

sentIntent: 當消息發出時,成功或者失敗的信息報告通過PendingIntent來廣播。如果該參數爲空,則發信程序會被所有位置程序檢查一遍,這樣會導致發送時間延長。

deliveryIntent: 當消息發送到收件人時,該PendingIntent會被廣播。pdu數據在狀態報告的extended data ("pdu")中。

如果收件人或者信息爲空則拋出 IllegalArgumentException 。

public ArrayList<String> divideMessage (String text)

將大於70字的短信分割爲多條。

參數:text    the original message. Must not be null.

返回:an ArrayList of strings that, in order, comprise the original message

sendDataMessage 參數與上類似,只是用於發送Data。

sendMultipartTextMessage發送多條短信,發送內容必須是用divideMessage分割好了的。

 分享軟件

intent=new Intent(Intent.ACTION_SENDTO,Uri.parse("smsto:"+""));
intent.putExtra("sms_body", "我在安卓市場發現了個好東東【通訊錄】,快來......下載吧!!安卓市場裏面還有很多應用來看看吧!");
startActivity(intent);

 

發送彩信

複製代碼

Uri uri = Uri.parse 
("content://media/external/p_w_picpaths/media/23");
Intent it = new Intent(Intent.ACTION_SEND);
it.putExtra("sms_body", "some text");
it.putExtra(Intent.EXTRA_STREAM, uri);
it.setType("p_w_picpath/png");
startActivity(it);

複製代碼

 

撥打電話

調撥打電話界面

Uri telUri = Uri. parse ( "tel:100861" );
returnIt = new Intent(Intent. ACTION_DIAL , telUri);

直接撥打電話

 Uri uri = Uri.parse("tel:xxxxxx");
Intent it =new Intent(Intent.ACTION_CALL,uri);

 要使用這個必須在配置文件中加入<uses-permission id="android.permission.CALL_PHONE" />


聯繫人
進入聯繫人頁面

Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW); 
intent.setData(People.CONTENT_URI);
startActivity(intent);

打開聯繫人列表 

複製代碼

//第一種Intent i = new Intent(); 
i.setAction(Intent.ACTION_GET_CONTENT); 
i.setType("vnd.android.cursor.item/phone"); 
startActivityForResult(i, REQUEST_TEXT); 

//第二種Uri uri = Uri.parse("content://contacts/people"); 
Intent it = new Intent(Intent.ACTION_PICK, uri); 
startActivityForResult(it, REQUEST_TEXT);

複製代碼

 

查看指定聯繫人

Uri personUri = ContentUris.withAppendedId 
(People.CONTENT_URI, info.id);//info.id聯繫人ID Intent intent = new Intent(); 
intent.setAction(Intent.ACTION_VIEW);
intent.setData(personUri);
startActivity(intent);

 

顯示網頁:

Uri uri = Uri.parse("http://www.google.com");
Intent it = new Intent(Intent.ACTION_VIEW,uri);
startActivity(it);

 

web瀏覽器

Uri uri= Uri. parse ( "http://kuikui.javaeye.com" );
returnIt = new Intent(Intent. ACTION_VIEW , uri );

 

顯示地圖:

Uri uri = Uri.parse("geo:38.899533,-77.036476");
Intent it = new Intent(Intent.Action_VIEW,uri);
startActivity(it);

 

發郵件

複製代碼

returnIt = new Intent(Intent. ACTION_SEND );

String[] tos = { "[email protected]" };

String[] ccs = { "[email protected]" };

returnIt .putExtra(Intent. EXTRA_EMAIL , tos);

returnIt .putExtra(Intent. EXTRA_CC , ccs);

returnIt .putExtra(Intent. EXTRA_TEXT , "body" );

returnIt .putExtra(Intent. EXTRA_SUBJECT , "subject" );

returnIt .setType( "message/rfc882" );//真機上使用這行//returnIt.setType("text/plain");//模擬器請使用這行Intent. createChooser ( returnIt , "Choose Email 
Client" );

複製代碼

 

直接發郵件

Uri smsToUri = Uri. parse ( "smsto://100861" );
returnIt = new Intent(Intent. ACTION_SENDTO , 
smsToUri);
returnIt.putExtra( "sms_body" , "shenrenkui" );

發彩信

Ur i mmsUri = Uri. parse ( 
"content://media/external/p_w_picpaths/media/23" );

returnIt = new Intent(Intent. ACTION_SEND );

returnIt.putExtra( "sms_body" , "shenrenkui" );

returnIt.putExtra(Intent. EXTRA_STREAM , mmsUri);

returnIt.setType( "p_w_picpath/png" )

添加附件

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

播放多媒體

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

Uri uri = Uri.withAppendedPath 
(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");
Intent it = new Intent(Intent.ACTION_VIEW, uri);
startActivity(it);

路徑規劃:

Uri uri = Uri.parse("http://maps.google.com/maps? 
f=d&saddr=startLat%20startLng&daddr=endLat 
%20endLng&hl=en");
Intent it = new Intent(Intent.ACTION_VIEW,uri );
startActivity(it);
安裝
Uri installUri = Uri. fromParts ( "package" , " xxx " , 
null );
returnIt = new Intent(Intent. ACTION_PACKAGE_ADDED , 
installUri);


Uninstall 程序

Uri uri = Uri.fromParts("package", strPackageName, 
null);
Intent it = new Intent(Intent.ACTION_DELETE, uri);
startActivity(it);

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章