總結安卓(Android)中常用的跳轉工具_Android

來源:互聯網
上載者:User

話不多說了,直接上代碼,這篇文章包含了一些基本的並且常用的跳轉工具,一起來看看吧。

首先,這是需要的對應的許可權。

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

代碼:

import android.app.Activity;import android.content.Context;import android.content.Intent;import android.database.Cursor;import android.net.Uri;import android.os.Environment;import android.provider.MediaStore;import android.provider.Settings;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Toast; import java.io.File; import frame.zmit.cn.publicutils.R; /** * Created by joy on 2016/7/21. * 工具集合 */public class MainActivity extends AppCompatActivity { private String mImagePath;//返回的圖片路徑 private final static int REQUEST_CODE_GALLERY = 0x11; private final static int REQUEST_CODE_CAMERA = 0x12;  @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /** * 開啟微信 */ findViewById(R.id.btn_open_weixin).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = getPackageManager().getLaunchIntentForPackage("com.tencent.mm"); startActivity(intent); } }); /** * 跳轉到QQ聊天介面 */ findViewById(R.id.btn_open_qq).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String mQqNumber = "98*****08"; String url11 = "mqqwpa://im/chat?chat_type=wpa&uin=" + mQqNumber + "&version=10"; startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url11))); } }); /** * 跳轉到連絡人介面 */ findViewById(R.id.btn_people_interface).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setClassName("com.android.contacts", "com.android.contacts.activities.PeopleActivity"); startActivity(intent); } }); /** * 跳轉到撥號介面 */ findViewById(R.id.btn_telephone_interface).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String phone = "157*****737"; Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phone)); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } }); /** * 直接撥打到電話 */ findViewById(R.id.btn_telephone).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String phone = "157*****737"; Intent intentPhone = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phone)); startActivity(intentPhone); } }); /** * 跳轉到簡訊介面 */ findViewById(R.id.btn_message_interface).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setType("vnd.android-dir/mms-sms"); startActivity(intent); } }); /** * 跳轉到簡訊介面 * 指定號碼和簡訊內容 */ findViewById(R.id.btn_message).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String phone = "157*****737"; String message = "這是一個自訂的內容"; Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:" + phone)); intent.putExtra("sms_body", message); startActivity(intent); } }); /** * 跳轉到設定介面 */ findViewById(R.id.btn_setting_interface).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Settings.ACTION_SETTINGS); startActivity(intent); } }); /** * 跳轉到藍芽介面 */ findViewById(R.id.btn_bluetooth_interface).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Settings.ACTION_BLUETOOTH_SETTINGS); startActivity(intent); } }); /** * 呼叫瀏覽器 */ findViewById(R.id.btn_browser).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); Uri content_url = Uri.parse("http://www.baidu.com"); intent.setData(content_url); startActivity(intent); } }); /** * 開啟照相機 */ findViewById(R.id.btn_camera).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mImagePath = chooseImageFromCamera(MainActivity.this, REQUEST_CODE_CAMERA, "cameraImage"); } }); /** * 開啟相簿並擷取圖片地址 */ findViewById(R.id.btn_gallery).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_PICK, null); intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*"); startActivityForResult(intent, REQUEST_CODE_GALLERY); } }); }  public String chooseImageFromCamera(Activity activity, int requestCode, String imageName) { Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); File file = new File(Environment.getExternalStorageDirectory() + "/Images"); if (!file.exists()) { file.mkdirs(); } String savePath = Environment.getExternalStorageDirectory() + "/Images/" + imageName + String.valueOf(System.currentTimeMillis()) + ".jpg"; Uri mUri = Uri.fromFile( new File(savePath)); cameraIntent.putExtra(android.provider.MediaStore.EXTRA_OUTPUT, mUri); cameraIntent.putExtra("return-data", true); activity.startActivityForResult(cameraIntent, requestCode); return savePath; }  public String onActivityResultForChooseImageFromGallery( Context context, int requestCode, int resultCode, Intent data) { String imagePath = null; if (data != null) { if ("file".equals(data.getData().getScheme())) { /** 有些低版本機型返回的Uri模式為file*/ imagePath = data.getData().getPath(); } else { Uri selectedImage = data.getData(); String[] filePathColumn = {MediaStore.Images.Media.DATA};  Cursor cursor = context.getContentResolver().query(selectedImage, filePathColumn, null, null, null); cursor.moveToFirst();  int columnIndex = cursor.getColumnIndex(filePathColumn[0]); imagePath = cursor.getString(columnIndex); cursor.close(); } return imagePath; } else { return null; }  }  @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); switch (requestCode) { case REQUEST_CODE_GALLERY: mImagePath = onActivityResultForChooseImageFromGallery(MainActivity.this, requestCode, resultCode, data); if (mImagePath != null && mImagePath.length() > 0) { Toast.makeText(MainActivity.this, mImagePath, Toast.LENGTH_SHORT).show(); } break; case REQUEST_CODE_CAMERA: if (mImagePath != null && mImagePath.length() > 0) { Toast.makeText(MainActivity.this, mImagePath, Toast.LENGTH_SHORT).show(); } break; } }}

總結

總結安卓(Android)中常用的跳轉工具到這就結束了,這篇文章整理的這些跳轉工具類很常見,所以才是最實用的,希望本文對大家日常開發Android能有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.