基本信息
源码名称:sms app 发送短信
源码大小:6.25M
文件格式:.rar
开发语言:C#
更新时间:2021-02-04
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559

本次赞助数额为: 2 元 
   源码介绍
xamarin.app.sms

using Android.App;
using Android.Content;
using Android.Database;
using Android.Net;
using Android.OS;
using Android.Runtime;
using Android.Widget;
using Java.Lang;
using Java.Text;
using Java.Util;
using Android.Util;
using Android.Provider;
using Android;
using Android.Content.PM;
using System.IO;
using Java.IO;
using Android.Preferences;
using Android.OS.Storage;
using Android.Views;
using Android.Support.V4.Content;
using Android.Support.V4.App;
using System.Collections.Generic;

namespace AppSms
{
    [Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
    public class MainActivity : Activity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.activity_main);

            //联系人
            Button btnContact = FindViewById<Button>(Resource.Id.btnContact);
            btnContact.Click  = new System.EventHandler((sender, e) =>
            {
                StartActivity(typeof(ContactActivity));
            });

            //短信
            Button btnSms = FindViewById<Button>(Resource.Id.btnSms);
            btnSms.Click  = new System.EventHandler((sender, e) =>
            {
                StartActivity(typeof(SmsActivity));
            });

            try
            {
                //获取系统权限
                GetPermission(new string[] {
                    Manifest.Permission.ReadContacts,
                    Manifest.Permission.ReadSms });
            }
            catch (System.Exception ex)
            {
                Log.Info(nameof(MainActivity), "导出短信异常:"   ex.Message);
            }
        }

        public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Permission[] grantResults)
        {
            base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
        }

        private long mExitTime;

        /// <summary>
        /// 双击退出程序
        /// </summary>
        /// <param name="keyCode"></param>
        /// <param name="e"></param>
        /// <returns></returns>
        public override bool OnKeyDown([GeneratedEnum] Keycode keyCode, KeyEvent e)
        {
            //判断用户是否点击了“返回键”
            if (keyCode == Keycode.Back)
            {
                //与上次点击返回键时刻作差
                if ((JavaSystem.CurrentTimeMillis() - mExitTime) > 2000)
                {
                    //大于2000ms则认为是误操作,使用Toast进行提示
                    Toast.MakeText(this, "再按一次退出程序", ToastLength.Short).Show();
                    //并记录下本次点击“返回键”的时刻,以便下次进行判断
                    mExitTime = JavaSystem.CurrentTimeMillis();
                }
                else
                {
                    //小于2000ms则认为是用户确实希望退出程序-调用System.exit()方法进行退出
                    JavaSystem.Exit(0);
                }
                return true;
            }
            return base.OnKeyDown(keyCode, e);
        }

        /// <summary>
        /// 获取系统权限
        /// </summary>
        /// <param name="permission"></param>
        private void GetPermission(string[] permission)
        {
            if (permission == null || permission.Length == 0)
                return;

            foreach (var item in permission)
            {
                if (ContextCompat.CheckSelfPermission(this, item) != Permission.Granted)
                {
                    ActivityCompat.RequestPermissions(this, new string[] { item }, 1);
                }
                else
                {
                    Toast.MakeText(this, $"已获得{item}权限", ToastLength.Short).Show();
                }
            }
        }
    }
}