日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 抛出异常,android - android Build.GetSerial()抛出异常 - 堆栈内存溢出

發(fā)布時(shí)間:2024/10/8 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 抛出异常,android - android Build.GetSerial()抛出异常 - 堆栈内存溢出 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

您應(yīng)該面臨權(quán)限問題。 而且由于Android Marshmallow,您需要向用戶詢問權(quán)限。 除了在android清單文件中添加權(quán)限外,您還可以添加運(yùn)行時(shí)權(quán)限,如下所示:

static readonly int REQUEST_PHONE_STATE = 1;

public void checkPermission()

{

Log.Info(TAG, "Checking permission.");

// Check if the permission is already available.

if (ActivityCompat.CheckSelfPermission(this, Manifest.Permission.ReadPhoneState) != (int)Permission.Granted)

{

// permission has not been granted

RequestPhoneStatePermission();

}

else

{

// permissions is already available, show the camera preview.

Log.Info(TAG, " permission has already been granted.");

getInfo();

}

}

方法RequestPhoneStatePermission

private void RequestPhoneStatePermission()

{

Log.Info(TAG, "PhoneState permission has NOT been granted. Requesting permission.");

if (ActivityCompat.ShouldShowRequestPermissionRationale(this, Manifest.Permission.ReadPhoneState))

{

Log.Info(TAG, "Displaying PhoneState permission rationale to provide additional context.");

Snackbar.Make(layout, Resource.String.permission_phonestate_rationale,

Snackbar.LengthIndefinite).SetAction(Resource.String.ok, new Action(delegate (View obj) {

ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.ReadPhoneState }, REQUEST_PHONE_STATE);

})).Show();

}

else

{

// PhoneState permission has not been granted yet. Request it directly.

ActivityCompat.RequestPermissions(this, new String[] { Manifest.Permission.ReadPhoneState }, REQUEST_PHONE_STATE);

}

}

方法OnRequestPermissionsResult

public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)

{

if (requestCode == REQUEST_PHONE_STATE)

{

// Received permission result for camera permission.

Log.Info(TAG, "Received response for phone state permission request.");

// Check if the only required permission has been granted

if (grantResults.Length == 1 && grantResults[0] == Permission.Granted)

{

// Camera permission has been granted, preview can be displayed

Log.Info(TAG, "phonestate permission has now been granted. Showing preview.");

Snackbar.Make(layout, Resource.String.permission_available_phonestate, Snackbar.LengthShort).Show();

getInfo();

}

else

{

Log.Info(TAG, "phonestate permission was NOT granted.");

Snackbar.Make(layout, Resource.String.permissions_not_granted, Snackbar.LengthShort).Show();

}

}

else

{

base.OnRequestPermissionsResult(requestCode, permissions, grantResults);

}

}

方法getInfo

private void getInfo() {

string serial;

if (Build.VERSION.SdkInt >= BuildVersionCodes.O)

{

serial = Build.GetSerial();

}

else

{

serial = Build.Serial;

}

Log.Info(TAG, "serial = " + serial);

}

這是完整的演示,您可以檢查一下。

之后,您可以獲得效果:

總結(jié)

以上是生活随笔為你收集整理的android 抛出异常,android - android Build.GetSerial()抛出异常 - 堆栈内存溢出的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。