<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Intent 使用方法總結(jié)

          共 12670字,需瀏覽 26分鐘

           ·

          2024-05-22 08:30

          和你一起終身學習,這里是程序員Android

          經(jīng)典好文推薦,通過閱讀本文,您將收獲以下知識點:

          一、通過組件名啟動
          二、通過包名、類名啟動
          三、通過類啟動
          四、打電話
          五、發(fā)短信
          六、打開網(wǎng)頁
          七、播放音樂
          八、打開圖片
          九、創(chuàng)建鬧鐘
          十、創(chuàng)建定時器
          十一、添加日歷事件
          十二、拍照
          十三、打開Camera
          十四、打開視頻錄像
          十五、選擇聯(lián)系人
          十六、查看聯(lián)系人
          十七、編輯聯(lián)系人
          十八、插入聯(lián)系人
          十九、寫郵件
          二十、打開地圖指定點
          二十一、檢索特定類型圖片

          一、通過組件名啟動 Activity

          1. 使用方法

              /**
          * 通過組件名啟動Activity
          * **/

          public static void StartIntentFromComponent(Context context,
          Class intentClass) {
          Intent intent = new Intent();
          // 1.使用ComponentName 啟動Activity
          ComponentName componentname = new ComponentName(context, intentClass);
          intent.setComponent(componentname);
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }
          }

          二、通過包名、類名啟動 Activity

          1.使用方法

              /**
          * 通過包名類名啟動Activity
          * **/

          public static void StartIntentFromPackage(Context context,
          String packageName, String className) {
          Intent intent = new Intent();
          // 1.使用ComponentName 啟動Activity
          ComponentName componentname = new ComponentName(packageName, className);
          intent.setComponent(componentname);
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }
          }

          三、 通過類啟動 Activity

          1. 使用方法

              /**
          * 通過Class啟動Activity
          * **/

          public static void StartIntentFromClass(Context context, Class<?> classOpen) {
          Intent intent = new Intent();
          // 2.使用Setclass方法,類方法間接使用ComponentName
          intent.setClass(context, classOpen);
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }
          }

          四、 打電話

          1. 使用Intent 打電話 方法如下

              /**
          * 打電話
          * **/

          public static void MakeCall(Context context, int number) {

          // 需要打電話權(quán)限
          // <uses-permission android:name="android.permission.CALL_PHONE"/>

          Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"
          + number));
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }

          }

          2.注意:打電話需要申請權(quán)限

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

          五、 發(fā)短信

          1.基礎(chǔ)發(fā)送短信

              /**
          * 1.基礎(chǔ)發(fā)送短信
          * **/

          public static void SendMms(Context context, String mmsString) {

          Intent sendIntent = new Intent();
          sendIntent.setAction(Intent.ACTION_SEND);
          sendIntent.putExtra(Intent.EXTRA_TEXT, mmsString);
          sendIntent.setType("text/plain");
          // sendIntent.setData(Uri.parse("smsto:"));
          // This ensures only SMS apps respond
          // 修改 Intnent 選擇器Tittle
          String title = context.getResources().getString(R.string.hello_world);
          Intent chooser = Intent.createChooser(sendIntent, title);

          // 驗證是否有Activity 接收
          if (sendIntent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(chooser);
          }
          }

          2.自定義 發(fā)送短信

              /**
          * 2.自定義 發(fā)送短信
          * **/

          public static void SendMmsCustom(Context context, String mmsString) {

          Intent sendIntent = new Intent();
          sendIntent.setAction(Intent.ACTION_SEND);
          sendIntent.putExtra(Intent.EXTRA_TEXT, mmsString);
          sendIntent.setType("text/plain");
          // sendIntent.setData(Uri.parse("smsto:"));
          // This ensures only SMS apps respond
          // 修改 Intnent 選擇器Tittle

          String title = context.getResources().getString(R.string.hello_world);

          Intent chooser = Intent.createChooser(sendIntent, title);

          // 驗證是否有Activity 接收
          if (sendIntent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(chooser);
          }
          }

          六、打開網(wǎng)頁

          1. 使用方法

              /**
          * 打開網(wǎng)頁
          * **/

          public static void OpenInternetUri(Context context, String uri) {

          Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }

          }

          七、播放音樂

          1. 使用方法

              /**
          * 播放音樂
          * **/

          public static void PlayMusic(Context context, String path) {

          // String
          // path=Environment.getExternalStorageDirectory().getAbsolutePath()+"test.mp3";
          Intent intent = new Intent(Intent.ACTION_VIEW);
          intent.setDataAndType(Uri.parse("file:///" + path), "audio/*");
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }

          }

          2.播放特定藝術(shù)家專輯

              /**
          * 搜索特定藝術(shù)家專輯
          * **/

          public static void playSearchArtist(Context context, String artist) {

          Intent intent = new Intent(
          MediaStore.INTENT_ACTION_MEDIA_PLAY_FROM_SEARCH);
          intent.putExtra(MediaStore.EXTRA_MEDIA_FOCUS,
          MediaStore.Audio.Artists.ENTRY_CONTENT_TYPE);
          intent.putExtra(MediaStore.EXTRA_MEDIA_ARTIST, artist);
          intent.putExtra(SearchManager.QUERY, artist);
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }

          }

          八、 打開圖片

          1. 使用方法

              /**
          * 打開圖片
          * **/

          public static void OpenImage(Context context, File file) {
          // File file =new File("/mnt/sdcard/1.png");
          Intent intent = new Intent(Intent.ACTION_VIEW);
          intent.setDataAndType(Uri.fromFile(file), "image/*");

          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }

          }

          九、 創(chuàng)建鬧鐘

          1. 使用方法

              /**
          * 創(chuàng)建鬧鐘
          * **/


          public static void SetAlarmIntent(Context context, String message,
          int hour, int minutes) {
          Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM)
          .putExtra(AlarmClock.EXTRA_MESSAGE, message)
          .putExtra(AlarmClock.EXTRA_HOUR, hour)
          .putExtra(AlarmClock.EXTRA_MINUTES, minutes);

          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);

          2.設(shè)置鬧鐘action 機權(quán)限

            <!-- 設(shè)置鬧鐘的權(quán)限 -->
          <uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
          <activity android:name=".Intent.IntentMethod" >
          <intent-filter>
          <action android:name="android.intent.action.SET_ALARM" />

          <category android:name="android.intent.category.DEFAULT" />
          </intent-filter>
          </activity>

          3.顯示所有鬧鐘

          顯示所有鬧鐘

          十、創(chuàng)建定時器

          1. 使用方法

              /**
          * 創(chuàng)建定時器
          * **/

          public static void StartTimer(Context context, String message, int seconds) {
          Intent intent = new Intent(AlarmClock.ACTION_SET_TIMER)
          .putExtra(AlarmClock.EXTRA_MESSAGE, message)
          .putExtra(AlarmClock.EXTRA_LENGTH, seconds)
          .putExtra(AlarmClock.EXTRA_SKIP_UI, true);
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }
          }

          添加設(shè)置SET_TIMER的Action

                  <activity android:name=".Intent.IntentMethod" >
          <intent-filter>
          <action android:name="android.intent.action.SET_ALARM" />
          <action android:name="android.intent.action.SET_TIMER" />

          <category android:name="android.intent.category.DEFAULT" />
          </intent-filter>
          </activity>

          十一、 添加日歷事件

          1. 使用方法

              /**
          * 添加日歷事件
          * **/


          public static void AddCalendarEvent(Context context, String title,
          String location, Calendar begin, Calendar end) {
          Intent intent = new Intent(Intent.ACTION_INSERT)
          .setData(Events.CONTENT_URI).putExtra(Events.TITLE, title)
          .putExtra(Events.EVENT_LOCATION, location)
          .putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, begin)
          .putExtra(CalendarContract.EXTRA_EVENT_END_TIME, end);
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }
          }

          2. 日歷事件過濾

          過濾日歷action

          十二、 拍照

          1.使用方法

              /**
          * 拍照
          * **/


          public static void CapturePhoto(Context context, String targetFilename,
          Uri mLocationForPhotos) {
          Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
          intent.putExtra(MediaStore.EXTRA_OUTPUT,
          Uri.withAppendedPath(mLocationForPhotos, targetFilename));
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }

          }

          2. 拍照過濾

          拍照過濾Action

          十三、打開Camera

          1. 使用方法


          /**
          * 打開Camera
          * **/


          public static void OpenCamera(Context context) {
          Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }
          }

          2.打開Camera 過濾

          Camera 過濾 Action方法

          十四、打開視頻錄像

          1.使用方法


          /**
          * 打開錄像視頻
          * **/


          public static void OpenCameraVideo(Context context) {
          Intent intent = new Intent(MediaStore.INTENT_ACTION_VIDEO_CAMERA);
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }
          }

          2. 打開錄像功能過濾

          過濾錄像功能方法

          十五、 選擇聯(lián)系人

          1. 使用方法

              /***
          * 選擇聯(lián)系人
          * **/

          public static void SelectContact(Context context) {
          Intent intent = new Intent(Intent.ACTION_PICK);
          intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }
          }

          十六、 查看聯(lián)系人

          1.使用方法

              /***
          * 查看聯(lián)系人
          * **/

          public static void ViewContact(Context context, Uri contactUri) {
          Intent intent = new Intent(Intent.ACTION_VIEW, contactUri);
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }
          }

          十七、 編輯聯(lián)系人

          1. 使用方法

              /***
          * 編輯聯(lián)系人
          * **/

          public static void EditContact(Context context, Uri contactUri, String email) {
          Intent intent = new Intent(Intent.ACTION_EDIT);
          intent.setData(contactUri);
          intent.putExtra(Intents.Insert.EMAIL, email);
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }
          }

          十八、插入聯(lián)系人

          1.使用方法

              /***
          * 插入聯(lián)系人
          * **/

          public static void InsertContact(Context context, String name, String email) {
          Intent intent = new Intent(Intent.ACTION_INSERT);
          intent.setType(Contacts.CONTENT_TYPE);
          intent.putExtra(Intents.Insert.NAME, name);
          intent.putExtra(Intents.Insert.EMAIL, email);
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }
          }

          十九、寫郵件

          1. 使用方法


          /***
          * 寫郵件
          * **/

          public static void composeEmail(Context context, String[] addresses,
          String subject, Uri attachment) {
          Intent intent = new Intent(Intent.ACTION_SEND);
          intent.setType("*/*");
          // intent.setData(Uri.parse("mailto:"));
          // only email apps should handle this
          intent.putExtra(Intent.EXTRA_EMAIL, addresses);
          intent.putExtra(Intent.EXTRA_SUBJECT, subject);
          intent.putExtra(Intent.EXTRA_STREAM, attachment);
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }
          }

          2. 郵件過濾

          郵件過濾 方法

          二十、 打開地圖指定點

          1. 使用方法

              /***
          * 打開地圖指定點
          * **/

          public static void callCar(Context context, Uri geoLocation) {
          Intent intent = new Intent(Intent.ACTION_VIEW);
          intent.setData(geoLocation);
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }
          }

          二十一、檢索特定類型圖片

          1.使用方法


          /***
          * 檢索特定類型圖片 獲取照片
          * **/

          public static void selectImage(Context context) {
          Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
          intent.setType("image/*");
          if (intent.resolveActivity(context.getPackageManager()) != null) {
          context.startActivity(intent);
          }
          }

          至此,本篇已結(jié)束。轉(zhuǎn)載網(wǎng)絡(luò)的文章,小編覺得很優(yōu)秀,歡迎點擊閱讀原文,支持原創(chuàng)作者,如有侵權(quán),懇請聯(lián)系小編刪除。同時感謝您的閱讀,期待您的關(guān)注。

          瀏覽 65
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  草熟女视频 | www.豆花视频 | 日本少妇成人 | www.骚逼 | 深爱五月婷婷综合 |