Android:調用打電話和發簡訊及intent一些其他用法

來源:互聯網
上載者:User

標籤:android   style   c   tar   ext   http   

1.打電話

可以自己寫介面,在button的單擊事件中添加如下代碼即可:

   Intent intent = new Intent();
   intent.setAction("android.intent.action.CALL");
   intent.setData(Uri.parse("tel:"+ mobile));//mobile為你要撥打的電話號碼,模擬器中為模擬器編號也可
   startActivity(intent);

需要添加打電話許可權:

<uses-permission android:name="android.permission.CALL_PHONE" />

2.發簡訊

和打電話差不多,在button的單擊事件中添加如下代碼:

    SmsManager smsManager = SmsManager.getDefault();
    ArrayList<String> texts = smsManager.divideMessage(content);//拆分簡訊,簡訊字數太多了的時候要分幾次發
    for(String text : texts){
     smsManager.sendTextMessage(mobile, null, text, null, null);//傳送簡訊,mobile是對方手機號
    }

對應發簡訊許可權:

<uses-permissionandroid:name="android.permission.SEND_SMS" />

 



下面是轉載來的其他的一些Intent用法執行個體

顯示網頁
    Uri uri = Uri.parse("http://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);   
    //其他 geo URI 範例  
    //geo:latitude,longitude  
    //geo:latitude,longitude?z=zoom  
    //geo:0,0?q=my+street+address  
    //geo:0,0?q=business+near+city  
    //google.streetview:cbll=lat,lng&cbp=1,yaw,,pitch,zoom&mz=mapZoom

路徑規劃
    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);  
    //where startLat, startLng, endLat, endLng are a long with 6 decimals like: 50.123456

打電話
    //叫出撥號程式 
    Uri uri = Uri.parse("tel:0800000123");  
    Intent it = new Intent(Intent.ACTION_DIAL, uri);  
    startActivity(it);  
    //直接打電話出去  
    Uri uri = Uri.parse("tel:0800000123");  
    Intent it = new Intent(Intent.ACTION_CALL, uri);  
    startActivity(it);  
    //用這個,要在 AndroidManifest.xml 中,加上  
    //<uses-permission id="android.permission.CALL_PHONE" />

傳送SMS/MMS
    //調用簡訊程式 
    Intent it = new Intent(Intent.ACTION_VIEW, uri);  
    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); 
    //傳送 MMS  
    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:[email protected]");  
    Intent it = new Intent(Intent.ACTION_SENDTO, uri);  
    startActivity(it);


    Intent it = new Intent(Intent.ACTION_SEND);  
    it.putExtra(Intent.EXTRA_EMAIL, "[email protected]");  
    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={"[email protected]"};    
    String[] ccs={"[email protected]"};    
    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"));

播放多媒體
       Uri uri = Uri.parse("file:///sdcard/song.mp3");  
       Intent it = new Intent(Intent.ACTION_VIEW, uri);  
       it.setType("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);

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 
        //顯示某個應用的相關資訊 
        Uri uri = Uri.parse("market://details?id=app_id");  
        Intent it = new Intent(Intent.ACTION_VIEW, uri); 
        startActivity(it);  
        //where app_id is the application ID, find the ID   
        //by clicking on your application on Market home   
        //page, and notice the ID from the address bar

Uninstall 應用程式
        Uri uri = Uri.fromParts("package", strPackageName, null); 
        Intent it = new Intent(Intent.ACTION_DELETE, uri);   
        startActivity(it);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.