关于关于采访手机的问题题

关于手机权限问题
关于手机权限问题
在6.0以后的手机上出现了手动权限的问题,那么就需要使用到动态的权限问题。
首先要先知道是否有这个权限,也就是说要先进行权限判断:
方法一:int permission1 = ContextCompat.checkSelfPermission(this,
Manifest.permission.CALL_PHPNE);首先获取权限开启值(以电话权限为例,其他权限相同),进行判断:
if (permission1 != PackageManager.PERMISSION_GRANTED) {}如果permission1 != 0 就说命没有权限进行动态申请权限。
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED
&& permission1 != PackageManager.PERMISSION_GRANTED) {
} 直接进行if判断是否该权限;
如果有则进行其他操作,如果没有则进行动态申请权限:
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_PHONE_STATE, Manifest.permission.CALL_PHONE},
REQUEST_CODE_ASK_READ_PHONE_STATE);@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case REQUEST_CODE_ASK_READ_PHONE_STATE:
if (grantResults.length & 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Log.i("WelcomeActivity", "权限允许");
//判断游客token是否为空
if (MyApplication.TOKEN.equals("")) {
//进行游客登录
requestPost(UrlData.TOURIST_LOGIN, UrlData.getTouristLogin());
//开启handler
handler.sendEmptyMessageDelayed(1, 1000);
Log.i("WelcomeActivity", "权限拒绝");
showFaiingDialog();
} private void showFaiingDialog() {
new AlertDialog.Builder(this)
.setTitle("权限申请")
.setMessage("开启存储空间、电话、相机权限")
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}).setCancelable(false)
.setPositiveButton("去设置", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
startSettings();
}).show();
} private void startSettings() {
Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivity(intent);
这样就可以做到权限的判断以及动态开启了;
但是还有一种情况就是在不使用到此功能时不会有任何问题,如果一旦用到则会因为没有权限问题而崩溃,例如相机;
所有,我在调用相机时会进行try{}cach{},以判断是否有权限,和上面相同的,在try内正常写入调用相机的代码,在cach内写入权限判断并动态设置权限。
昨天我又遇到一个通知的权限,这个权限不会出现任何崩溃问题,但如果有这个需求,那也没办法;
所以就使用了下面这个方法进行判断并打开设置通知页:
public static boolean isNotificationEnabled(Context context) {
String CHECK_OP_NO_THROW = "checkOpNoThrow";
String OP_POST_NOTIFICATION = "OP_POST_NOTIFICATION";
if (Build.VERSION.SDK_INT &= 19) {
AppOpsManager mAppOps = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
ApplicationInfo appInfo = context.getApplicationInfo();
String pkg = context.getApplicationContext().getPackageName();
int uid = appInfo.
Class appOpsClass =
appOpsClass = Class.forName(AppOpsManager.class.getName());
Method checkOpNoThrowMethod = appOpsClass.getMethod(CHECK_OP_NO_THROW, Integer.TYPE, Integer.TYPE, String.class);
Field opPostNotificationValue = appOpsClass.getDeclaredField(OP_POST_NOTIFICATION);
int value = (Integer) opPostNotificationValue.get(Integer.class);
return ((Integer) checkOpNoThrowMethod.invoke(mAppOps, value, uid, pkg) == AppOpsManager.MODE_ALLOWED);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}此方法如果返回true则表示已开启权限,返回false就是没有开启权限,当然了,这里还有个坑就是在android 4.4 以下则不管用了,因为在4.4以下是不能判断权限的,所有就默认是true已打开了。
如果用户为打开通知则会进行其他操作,我则是用了一个dialog提示用户没有开启,问用户是否要打开:
public static void openNotice(final Context context) {
LemonHelloInfo info = new LemonHelloInfo()
.setTitle("提示")
.setContent("通知功能尚未开启,点击“去开启”启用通知提醒。")
.setContentFontSize(16)
.addAction(new LemonHelloAction("取消", new LemonHelloActionDelegate() {
public void onClick(LemonHelloView helloView, LemonHelloInfo helloInfo, LemonHelloAction helloAction) {
helloView.hide();
.addAction(new LemonHelloAction("去开启", Color.RED, new LemonHelloActionDelegate() {
public void onClick(LemonHelloView helloView, LemonHelloInfo helloInfo, LemonHelloAction helloAction) {
//跳转登录页面
Intent intent = new Intent();
intent.setAction("android.settings.APP_NOTIFICATION_SETTINGS");
intent.putExtra("app_package", context.getPackageName());
intent.putExtra("app_uid", context.getApplicationInfo().uid);
context.startActivity(intent);
helloView.hide();
info.show(context);
}这个方法是直接跳转至设置通知页的,也可进行跳转至设置权限的页面(上面的startSettings方法),看需求了。
以上则是我自己遇到的权限问题,如有不对欢迎指出。
没有更多推荐了,关于指纹识别手机安全问题,你必须要知道的都在这里
& & & & 【每日科技网】&  两年前,iPhone5S开启了智能手机的指纹时代。随后,一大波Android指纹识别手机相继涌现。并且在这两年间,随着产业链厂商的推波助澜,指纹识别技术的门槛在逐渐走低,其终端价格也在迅速下探。原来这一高大上的技术仅仅是应用于高端旗舰机上,而现在千元机同样也能拥有该功能。
  不过,当指纹手机走入寻常百姓家的时候,一个不可忽视的问题也随即而来了:你的指纹手机安全吗?
  日前,在世界黑帽大会(BlackHat)上,来自中国的两位黑客魏涛、张玉龙发现了Android指纹识别框架下存在重大漏洞,通过这个漏洞他们可以轻松绕过指纹识别器,进而可以解锁手机屏幕、安装应用,甚至是转账支付等。另外,他们还能够直接拷贝用户的指纹信息,这将严重威胁到了用户的个人信息及隐私安全。据悉,此次他们攻破的是HTC
One Max、三星Galaxy
S5两款机型。不过,由于该漏洞出现在Android系统层级,也就是说,任何配备指纹解锁的Android手机都将受到威胁。
  那么,一向以安全著称的指纹识别技术,为何会频频遭到破解?而要回答这个问题,还需要从指纹识别技术的原理说起。
  目前市面上主流的应用于智能手机的指纹识别技术大概有两种:按压式和滑动式。它们基本上都是基于电容传感识别原理:由手指构成电容的一极,而传感器构成另一极,通过人体的微电场与电容传感器间形成微电流,指纹的波峰和波谷形成电容高低差,进而描绘出指纹图像。然后,用这一图像与数据库的指纹样本互相匹配,便完成了一次指纹识别过程。
  Android手机厂商在保护指纹方面都是采用芯片级的安全解决方案TrustZone,包括魅族的MX4 Pro、华为的Mate
7等都采用了该方案。它是ARM提供的一种可保护敏感信息的硬件安全架构体系,用于把手机从硬件与软件上分成安全区与普通区两个区域。安全区属于硬件加密级别,因此第三方程序无法访问其中的敏感数据。通过这种硬件+软件的双重机构完成对指纹识别技术的安全管控。
  但事实上,这种双区加密的方式也存在着一定的漏洞。
  在整个识别过程中,指纹图像的匹配过程需要借由软件实现,而就为黑客们提供了破解的入口。一但该方案出现软件漏洞时,黑客便能够在可信区域执行任意代码,将TrustZone完全攻破。去年8月,有消息爆出高通骁龙系列处理都存在TrustZone漏洞。这些漏洞可以被黑客利用来攻破系统级的保护机制,并获得用户隐私资料,甚至包括完成支付等高权限动作。
  TrustZone被视为Anroid指纹手机安全的最后一道防线,然而一旦被攻破,指纹识别也就形同虚设。不过,目前黑客们都是利用软件方面的漏洞进行破解,而当这些漏洞被发现后,谷歌便会马上进行封堵。
  那么,果粉们肯定会问了,苹果的Touch ID安全性又怎么样?
  在这次的世界黑帽大会上,黑客们并没有攻下苹果的Touch ID,他们不仅没有绕过Touch
ID,也不能盗走用户的指纹信息,这其实也体现了iOS作为封闭系统在安全方面的优势。
  但这并不能说Touch ID就绝对的安全。其实,iPhone
5s发布后仅一天,欧洲最大的骇客团体ChaosComputerClub就宣布破解了Touch ID。不过,针对于Touch
ID的破解更多是利用指纹膜这样的方式,真正通过硬件和软件手段的破解还很少。
  在指纹安全方面,苹果是采用了独立设计的Secure Enclave模块,该模块同样是基于ARM
的TrustZone技术,相当于苹果定制了一个高度优化的TrustZone模块。据苹果安全手册描述,Secure
Enclave是苹果定制的一个单芯片级的协处理器,在处理安全信息时它会启动序列码和软件更新机制,专门负责对数据保护和加密操作。并且只有Secure
Enclave能够访问用户指纹信息,苹果公司也无法获知,也不会传到iCould上面。苹果将用户的指纹信息存储于本地,并没有上传到云端,这大大降低了被盗取的可能性。
  前Google安全大师、安全领域专家Shuman
Ghosemajumder表示过,指纹扫描必须只基于硬件,扫描的过程不能通过软件激活,或是将指纹信息传送给软件。如果该装置能够被软件激活,那么就无法避免被恶意代码攻击的风险。可以看到的是,不管苹果Touch
ID如何加强硬件的保护机制,但其指纹识别的过程仍需软件的协同,而这也让它存在着一定的安全风险。
  但不管怎么说,指纹识别仍然是目前能够广泛商用,且安全性较高的一种加密方式。并且随着技术的演进,一些新型指纹识别技术开始出现,比如高通已经推出了一项黑科技&&超声波指纹识别技术(超声波Sense
ID)。与电容式识别原理不同,它采取超声波的扫描方式,因此它不需要电容传感器或者按钮,可以隐藏于多种材质表面之下。基于这种技术,手机厂商可推出不需要Home键的智能手机。
  另外,除了指纹识别技术外,虹膜识别(眼球识别)技术也在日益成熟,并且vivo在其最新旗舰X5
Pro上已经运用了该技术。它是通过扫描用户独的眼球静脉图案,来辨别不同生物活体,具有更高的安全性和不可复制性。该技术同样可以应用于支付类、信息类的加密。
  &道高一尺,魔高一丈&,对于黑客们来说,破解之路永远没有尽头。但对于普通用户来说,除了加强自身的安全意识外,更多的是要享受新技术带来的便利和体验。
免责声明:本文仅代表作者个人观点,与每日科技网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们联系,本网站将在规定时间内给予删除等相关处理.
11:09 广告
11:09 广告关于手机运行内存的问题_百度知道
关于手机运行内存的问题
关于手机运行内存的问题我的手机4G运存,每次只是开个QQ音乐和QQ,或者只是开QQ,运存就一直只剩1.9-2.2G左右,求解怎么回事,不可能QQ就占2G运存吧?...
关于手机运行内存的问题我的手机4G运存,每次只是开个QQ音乐和QQ,或者只是开QQ,运存就一直只剩1.9-2.2G左右,求解怎么回事,不可能QQ就占2G运存吧?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
数码类认证行家
数码类行家
采纳数:33768
获赞数:42732
毕业于西北师范大学计算机科学与技术专业。从教高中数学、计算机、通用技术教师14年。
这是系统的运行内存。建议手机,定期备份照片,收到的图片文件等等,然后删除这些文件,可以节省空间,个手机加速也比较省电。
来自电子数码类芝麻团
采纳数:9745
获赞数:20322
参与团队:
算比较正常了,系统一般占用40%左右的内存,开个软件占用到50%很正常的。
可4G你运存几乎什么都没开就变成了1.9G也太说不过去了吧
有些厂家懒的优化,或者觉得运行内存大给你预装了很多不需要的软件,多装软件厂家有钱赚的,推广一个软件平均厂家可以赚两块钱的。比较喜欢vivo的原因是自带的软件除了必须的都可以自己删除。
就是这样咯,硬件打价格战不靠软件贴补点怎么赚钱!
本回答被网友采纳
4G运存不应该这样,是不是买到假货了啊!
什么牌子?
荣耀V8,网上抢购的
名牌的假货更多,他们说山寨货
下载一个鲁大师看看真伪
不行就退货吧
如何看真伪
鲁大师不是电脑的么
里面有一个真机评测
手机也可以
希望可以帮助你
那应该是真机,问客服吧,真机也可能有问题
去年我帮朋友买了一个华为手机,回来信号不好,光主板一口气换了4个才能用
我就是看内存占用不正常,其他都还好
内存占用多了就可能出现卡顿死机
等过了保修期就~~~
简直无语了,这V8才刚刚买一个月
你是哪里的啊?
采纳数:1039
获赞数:1136
微信QQ等,腾讯的软件都是耗资源大户,吃内存很厉害
哦睡觉步行街
哦睡觉步行街
采纳数:110
获赞数:325
擅长:暂未定制
手机运行内存有一部分被系统占用 比如我的手机内存3g 什么都不开 可用内存就2g
不会吧……那宣传的4G都是骗人的,实际可以就2G啊
没办法 智能电器就这样
啊小文啊啊
啊小文啊啊
获赞数:21
手机都这样
其他3条回答
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。&&&&&“”“”“”
[转]&[转]&[转]&[转]&
喜欢该文的人也喜欢

我要回帖

更多关于 关于手机的问题提出 的文章

 

随机推荐