针对android 有哪些关于访问访问方面的权限

针对android 有哪些关于访问访问方面的权限,第1张

Android访问网络的权限是androidpermissionINTERNET。

声明权限的方式:

第一步:打开 AndroidManifestxml文件

第二步:在application节点之前增加<uses-permission android:name=”androidpermissionINTERNET”></uses-permission>

代码中需要通过Thread来访问网络,UI线程连接网络Android会抛出异常。

资料拓展:

Android是一种基于Linux的自由及开放源代码的 *** 作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android *** 作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到781%。2013年09月24日谷歌开发的 *** 作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。

怎么在androidmanifest中配置读取联络人许可权

<uses-permission android:name="androidpermissionREAD_CONTACTS"/>

怎么开启读取联络人许可权

苹果的系统没办法,安卓的可以在设定,然后找应用程式,找对应的应用程式,点选进去之后看许可权的各个选项,改他的许可权。

lg手机怎么读取联络人许可权

lg手机怎么读取联络人许可权

你说的这个检视手机获取ROOT许可权了你可以用软体来看啦。

我的手机是用PC版应用宝进行的ROOT,然后用这个软体就可以看啦。

你就先在电脑上安这个软体,开启手机的USB除错,连线之后,

在我的手机选项里面找到工具箱,在工具箱里面可以看到一键ROOT,

进去之后如果你的手机已经ROOT,那会他就会提示你已经ROOT了。

vivo如何读取联络人许可权

请问您是不是指设定联络人隐私许可权的呢,设定联络人隐私许可权,建议您可以进入手机i管家--隐私空间--设定--密码安全设定中设定相应的密码和安全问题的,然后进入i管家软体管理--软体锁--输入您设定的隐私密码--点选电话&联络人右边的锁进行加锁保护的。

禁止读取联络人许可权在哪设定

设定,隐私,把你不想读取联络人许可权的软体关掉。

应用读取联络人许可权,点选某加粉软体时说请先开启应用读取联络人许可权,不知在哪

进入安全中心之类的管理软体,找到应用许可权管理,点选所有英语,找到你想修改许可权的应用,将其读取联络人许可权改为允许就可以了,希望对你有所帮助。

手打不易,还请采纳一下呗(๑>؂<๑)

vivo x5设定了读取联络人许可权后怎么解除

进入手机i管家---软体管理--软体许可权管理将该程式禁止访问联络人即可。

vivoY51应用读取联络人许可权在哪

进入i管家--软体管理--软体许可权管理--访问联络人--将所需要访问联络人的软体开启即可。

oppoa33读取联络人许可权在哪里

A33进入手机安全中心--许可权管理--应用许可权管理,即可设定软体许可权。

软体许可权的设定方法:

ColorOS 30版本,进入手机管家--许可权隐私--应用许可权管理--需要修改许可权的应用进行修改;

ColorOS 21版本,安全中心--许可权隐私--应用许可权管理;

ColorOS 20版本,安全中心--许可权管理--应用许可权管理;

ColorOS 10版本,安全服务--个人资讯保安--按应用程式管理。

请先开启应用读取联络人许可权

说的不明白啊,什么机子 安全中心--授权管理--应用许可权管理--开启联络人许可权

图1

没有删除文件的权限

这个时候,我们在该文件的上一级文件夹上单击右键,选择“属性”→“安全”,选中你的用户名后,点击“编辑”,在d出的对话框中选中你的用户名,然后勾选“完全控制”即可(如图2)。

图2

为用户赋予完全控制权限

如果图2中没有你的用户名,请单击上图中的“添加”按钮,然后根据系统提示将你的用户名添加进去并赋予“完全控制”权限即可。限于篇幅,这里不做详述。

1c:\windows\winsxs

采用文件路径做小标题是为了突出这个部分的特殊性。winsxs这个文件夹太特殊了!在这个文件夹内有着非常多的重要主要组件文件,不可以全部

删除。但是据笔者多次试验发现,如果用户想拿它开刀也不是不可以,保留这三个下文件即可:以“x86_microsoft”开头的文件、policies

和manifests文件夹。

程序执行需要读取到安全敏感项必需在androidmanifestxml中声明相关权限请求, 完整列表如下:

androidpermissionACCESS_CHECKIN_PROPERTIES

允 许读写访问”properties”表在checkin数据库中,改值可以修改上传( Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded)

androidpermissionACCESS_COARSE_LOCATION

允许一个程序访问CellID或WiFi热点来获取粗略的位置(Allows an application to access coarse (eg, Cell-ID, WiFi) location)

androidpermissionACCESS_FINE_LOCATION

允许一个程序访问精良位置(如GPS) (Allows an application to access fine (eg, GPS) location)

androidpermissionACCESS_LOCATION_EXTRA_COMMANDS

允许应用程序访问额外的位置提供命令(Allows an application to access extra location provider commands)

androidpermissionACCESS_MOCK_LOCATION

允许程序创建模拟位置提供用于测试(Allows an application to create mock location providers for testing)

androidpermissionACCESS_NETWORK_STATE

允许程序访问有关GSM网络信息(Allows applications to access information about networks)

androidpermissionACCESS_SURFACE_FLINGER

允许程序使用SurfaceFlinger底层特性(Allows an application to use SurfaceFlinger’s low level features)

androidpermissionACCESS_WIFI_STATE

允许程序访问Wi-Fi网络状态信息(Allows applications to access information about Wi-Fi networks)

androidpermissionADD_SYSTEM_SERVICE

允许程序发布系统级服务(Allows an application to publish system-level services)

androidpermissionBATTERY_STATS

允许程序更新手机电池统计信息(Allows an application to update the collected battery statistics)

androidpermissionBLUETOOTH

允许程序连接到已配对的蓝牙设备(Allows applications to connect to paired bluetooth devices)

androidpermissionBLUETOOTH_ADMIN

允许程序发现和配对蓝牙设备(Allows applications to discover and pair bluetooth devices)

androidpermissionBRICK

请求能够禁用设备(非常危险)(Required to be able to disable the device (very erous!))

androidpermissionBROADCAST_PACKAGE_REMOVED

允许程序广播一个提示消息在一个应用程序包已经移除后(Allows an application to broadcast a notification that an application package has been removed)

androidpermissionBROADCAST_STICKY

允许一个程序广播常用intents(Allows an application to broadcast sticky intents)

androidpermissionCALL_PHONE

允 许一个程序初始化一个电话拨号不需通过拨号用户界面需要用户确认(Allows an application to initiate a phone call without going through the Dialer user interface for the user to confirm the call being placed)

androidpermissionCALL_PRIVILEGED

允 许一个程序拨打任何号码,包含紧急号码无需通过拨号用户界面需要用户确认(Allows an application to call any phone number, including emergency numbers, without going through the Dialer user interface for the user to confirm the call being placed)

androidpermissionCAMERA

请求访问使用照相设备(Required to be able to access the camera device )

androidpermissionCHANGE_COMPONENT_ENABLED_STATE

允 许一个程序是否改变一个组件或其他的启用或禁用(Allows an application to change whether an application component (other than its own) is enabled or not )

androidpermissionCHANGE_CONFIGURATION

允许一个程序修改当前设置,如本地化(Allows an application to modify the current configuration, such as locale )

androidpermissionCHANGE_NETWORK_STATE

允许程序改变网络连接状态(Allows applications to change network connectivity state)

androidpermissionCHANGE_WIFI_STATE

允许程序改变Wi-Fi连接状态(Allows applications to change Wi-Fi connectivity state)

androidpermissionCLEAR_APP_CACHE

允许一个程序清楚缓存从所有安装的程序在设备中(Allows an application to clear the caches of all installed applications on the device )

androidpermissionCLEAR_APP_USER_DATA

允许一个程序清除用户设置(Allows an application to clear user data)

androidpermissionCONTROL_LOCATION_UPDATES

允许启用禁止位置更新提示从无线模块(Allows enabling/disabling location update notifications from the radio )

androidpermissionDELETE_CACHE_FILES

允许程序删除缓存文件(Allows an application to delete cache files)

androidpermissionDELETE_PACKAGES

允许一个程序删除包(Allows an application to delete packages)

androidpermissionDEVICE_POWER

允许访问底层电源管理(Allows low-level access to power management)

androidpermissionDIAGNOSTIC

允许程序RW诊断资源(Allows applications to RW to diagnostic resources )

androidpermissionDISABLE_KEYGUARD

允许程序禁用键盘锁(Allows applications to disable the keyguard )

androidpermissionDUMP

允许程序返回状态抓取信息从系统服务(Allows an application to retrieve state dump information from system services)

androidpermissionEXPAND_STATUS_BAR

允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似windows mobile中的托盘程序(Allows an application to expand or collapse the status bar )

androidpermissionFACTORY_TEST

作为一个工厂测试程序,运行在root用户(Run as a manufacturer test application, running as the root user )

androidpermissionFLASHLIGHT

访问闪光灯,android开发网提示htc Dream不包含闪光灯(Allows access to the flashlight )

androidpermissionFORCE_BACK

允许程序强行一个后退 *** 作是否在顶层activities(Allows an application to force a BACK operation on whatever is the top activity )

androidpermissionFOTA_UPDATE

暂时不了解这是做什么使用的,android开发网分析可能是一个预留权限

androidpermissionGET_ACCOUNTS

访问一个帐户列表在Accounts Service中(Allows access to the list of accounts in the Accounts Service)

androidpermissionGET_PACKAGE_SIZE

允许一个程序获取任何package占用空间容量(Allows an application to find out the space used by any package )

androidpermissionGET_TASKS

允 许一个程序获取信息有关当前或最近运行的任务,一个缩略的任务状态,是否活动等等(Allows an application to get information about the currently or recently running tasks: a thumbnail representation of the tasks, what activities are running in it, etc)

androidpermissionHARDWARE_TEST

允许访问硬件(Allows access to hardware peripherals )

androidpermissionINJECT_EVENTS

允 许一个程序截获用户事件如按键、触摸、轨迹球等等到一个时间流,android 开发网提醒算是hook技术吧(Allows an application to inject user events (keys, touch, trackball) into the event stream and deliver them to ANY window)

androidpermissionINSTALL_PACKAGES

允许一个程序安装packages(Allows an application to install packages )

androidpermissionINTERNAL_SYSTEM_WINDOW

允许打开窗口使用系统用户界面(Allows an application to open windows that are for use by parts of the system user interface )

androidpermissionINTERNET

允许程序打开网络套接字(Allows applications to open network sockets)

androidpermissionMANAGE_APP_TOKENS

允 许程序管理(创建、催后、 z- order默认向z轴推移)程序引用在窗口管理器中(Allows an application to manage (create, destroy, Z-order) application tokens in the window manager )

androidpermissionMASTER_CLEAR目前还没有明确的解释,android开发网分析可能是清除一切数据,类似硬格机

androidpermissionMODIFY_AUDIO_SETTINGS

允许程序修改全局音频设置(Allows an application to modify global audio settings)

androidpermissionMODIFY_PHONE_STATE

允许修改话机状态,如电源,人机接口等(Allows modification of the telephony state – power on, mmi, etc )

androidpermissionMOUNT_UNMOUNT_FILESYSTEMS

允许挂载和反挂载文件系统可移动存储(Allows mounting and unmounting file systems for removable storage )

androidpermissionPERSISTENT_ACTIVITY

允许一个程序设置他的activities显示(Allow an application to make its activities persistent )

androidpermissionPROCESS_OUTGOING_CALLS

允许程序监视、修改有关播出电话(Allows an application to monitor, modify, or abort outgoing calls)

androidpermissionREAD_CALENDAR

允许程序读取用户日历数据(Allows an application to read the user’s calendar data)

androidpermissionREAD_CONTACTS

允许程序读取用户联系人数据(Allows an application to read the user’s contacts data)

androidpermissionREAD_FRAME_BUFFER

允许程序屏幕波或和更多常规的访问帧缓冲数据(Allows an application to take screen shots and more generally get access to the frame buffer data)

androidpermissionREAD_INPUT_STATE

允许程序返回当前按键状态(Allows an application to retrieve the current state of keys and switches )

androidpermissionREAD_LOGS

允许程序读取底层系统日志文件(Allows an application to read the low-level system log files )

androidpermissionREAD_OWNER_DATA

允许程序读取所有者数据(Allows an application to read the owner’s data)

androidpermissionREAD_SMS

允许程序读取短信息(Allows an application to read SMS messages)

androidpermissionREAD_SYNC_SETTINGS

允许程序读取同步设置(Allows applications to read the sync settings)

androidpermissionREAD_SYNC_STATS

允许程序读取同步状态(Allows applications to read the sync stats)

androidpermissionREBOOT

请求能够重新启动设备(Required to be able to reboot the device )

androidpermissionRECEIVE_BOOT_COMPLETED

允 许一个程序接收到 ACTION_BOOT_COMPLETED广播在系统完成启动(Allows an application to receive the ACTION_BOOT_COMPLETED that is broadcast after the system finishes booting )

androidpermissionRECEIVE_MMS

允许一个程序监控将收到MMS彩信,记录或处理(Allows an application to monitor incoming MMS messages, to record or perform processing on them )

androidpermissionRECEIVE_SMS

允许程序监控一个将收到短信息,记录或处理(Allows an application to monitor incoming SMS messages, to record or perform processing on them)

androidpermissionRECEIVE_WAP_PUSH

附上出处链接:>

这里只介绍按下“保存”后如何将一个Bitmap对象保存为文件的执行步骤,对的下载,到Bitmap对象的转换,Bitmap对象的格式转换和压缩,以及界面设计部分全部都忽略了。

确定存储路径

获取外部存储权限

确定外部存储状态

确定文件名

保存到文件中

发送广播,通知系统扫描保存后的文件

确定存储路径

在Android中文件存储路径包括内部存储和外部存储两种类型。

对内部存储,当一个app被安装到手机后,Android系统会在内部存储的/data/data/目录下创建一个以包名称命名的文件夹。例如/data/data/comsohuinputmethodsogou/。一个应用对内部存储的所有访问都被限制在这个文件夹中,也就是说Android应用只能在该目录中读取,创建,修改文件。对该目录之外的其他内部存储中的目录都没有任何 *** 作的权限。因此,如果将保存在内部存储中,只能被应用自身读取,其他应用均无法读取。如果需要让系统图库,相册或其他应用能够找到保存的,必须将保存到外部存储中。

对外部存储,当一个app被安装到手机后,Android系统会在外部存储的/Android/data/目录下创建一个以包名命名的文件夹(这里第一个/不是根路径,而是相对外部存储所挂载路径的相对路径)。例如/storage/emulated/0/Android/data/comsohuinputmethod/。这个路径同样只能被应用自身读取,其他应用不能访问。因此,也不能将保存在这个目录中。

除外部存储的/Android目录之外的其他目录一般都是可以被其他应用访问的。目前,大多数应用都会在外部存储的根路径下建立一个类似包名的多层目录,以存储需要共享的文件。例如/storage/emulated/0/sogou/image/。还需要注意的是,很多查看的应用都支持按照文件夹来查看。如果将所在的文件夹取名为image,photo之类的,就无法和其他文件夹区分开,用户也不能识别该文件夹的用途。因此最好取一个有区分度的文件夹名字,例如百度贴吧就保存在/tieba目录,微信是保存在/tencent/MicroMsg/WeiXin目录。

由于Android系统的碎片化问题,不同设备上外部存储的路径很可能会不同,因此,不能直接使用/storage/emulated/0/作为外部存储的根路径。

Android SDK中 Environment类 提供了getExternalStorageDirectory()方法来获取外部存储的根路径。示例如下:

[java] view plain copy

String dir = EnvironmentgetExternalStorageDirectory()getAbsolutePath() + "/tencent/MicroMsg/WeiXin/"

需要注意的是EnvironmentgetExternalStorageDirectory()返回的路径中最后一个字符不是/,如果需要创建子目录,需要在子目录的前后都加上/。

获取外部存储权限

由于需要在外部存储中写文件,需要在AndroidManifestxml中增加如下的权限声明。

[java] view plain copy

<uses-permission android:name="androidpermissionWRITE_EXTERNAL_STORAGE"/>

确定外部存储状态

由于外部存储需要被挂载,也可以被卸载,在写入文件之前,需要先判断外部存储的状态是否正常。只有状态正常情况下才可以执行保存文件的 *** 作。获取外部存储状态同样是通过Environment类,通过EnvironmentgetExternalStorageState()可以得到一个字符串,来表示外部存储的状态。同时在Environment类中定义了一系列的String常量表示不同的状态。在所有的状态中只有内部存储处于EnvironmentMEDIA_MOUNTED状态时才可以读写文件,因此,需要将获取到的状态和EnvironmentMEDIA_MOUNTED做比较,如果不是EnvironmentMEDIA_MOUNTED状态,就返回保存失败。示例如下。

[java] view plain copy

//获取内部存储状态

String state = EnvironmentgetExternalStorageState();

//如果状态不是mounted,无法读写

if (!stateequals(EnvironmentMEDIA_MOUNTED)) {

return;

}

确定文件名

保存的文件名可以由应用根据自身需要自行确定,一般来说需要有一个命名规则,然后根据命名规则计算得到文件名。

这里列举几种常见的命名规则。

随机命名

这种命名规则是随机生成一个字符串或一组数字来对命名。

字符串可以通过UUID来生成,数字可以通过Random()类来生成,例如:

[java] view plain copy

//通过UUID生成字符串文件名

String fileName1 = UUIDrandomUUID()toString();

//通过Random()类生成数组命名

Random random = new Random();

String fileName2 = StringvalueOf(randomnextInt(IntegerMAX_VALUE));

这种命名规则是按照数字从小到大的顺序来对命名。

在程序启动时先获取文件名中当前最大数字的文件名,之后每保存一张就将数字加1即可。

时间命名

这种命名规则是根据保存的当前系统时间来对命名。

系统时间可以通过SystemcurrentTimeMillis()来获取,不过SystemcurrentTimeMillis()获取到的时间是一个long型的整数,如果用它做文件名,无法通过文件名直接看出文件的具体保存时间。可以通过SimpleDateFormat先对当前时间做格式化,然后再将其作为文件名来使用。例如:

[java] view plain copy

使用这种命名规则来命名需要注意的是同一秒钟可能会有多张需要保存,在得到当前系统时间对应的文件名后,需要判断该文件是否存在。如果文件已经存在,需要重新生成文件名。重新生成的文件名可以在之前的文件名后加上一个随机数后缀,或者是用毫秒数做后缀。

Calendar now = new GregorianCalendar();

SimpleDateFormat simpleDate = new SimpleDateFormat("yyyyMMddHHmmss", LocalegetDefault());

String fileName = simpleDateformat(nowgetTime());

文件URL命名

每张网络都有一个对应的URL,可以根据的URL来对命名。

不过URL中会包含一些不能用作文件名的特殊字符,此外直接用URL来命名可能会带来安全问题。为了避免这两个问题,可以将URL的MD5值作为文件名来使用。由于MD5是不可逆的,也就无法通过MD5值反向得到URL,同时MD5值对应的字符串只包含[0-9A-Z],不包含特殊字符,可是作为文件名使用。

由于每张的URL是唯一的,其对应的文件名也就是唯一的。如果需要每张网络只能生成一个文件,不允许保存为多份拷贝,可以用这种命名规则。在得到URL对应的文件名后,先判断文件是否已经存在,如果已经存在,直接覆盖或不处理。

保存到文件中

保存文件时,通过Bitmap的compress()方法将Bitmap对象压缩到一个文件输出流中,然后flush()即可。示例如下。

[java] view plain copy

try {

File file = new File(dir + fileName + "jpg");

FileOutputStream out = new FileOutputStream(file);

mBitmapcompress(BitmapCompressFormatJPEG, 100, out);

outflush();

outclose();

} catch (Exception e) {

eprintStackTrace();

}

发送广播,通知系统扫描保存后的文件

至此,已经实现将Bitmap对象保存成外部存储中的一个jpg格式的文件。但此时该文件只是保存在外部存储的一个目录中,必须进入其所在的目录中才可以看到。在系统图库,相册和其他应用中无法看到新建的文件。为了让其他应用能够知道文件被创建,必须通知MediaProvider服务将新建的文件添加到数据库中。

Android系统中常驻一个MediaProvider服务,对应的进程名为androidprocessmedia,此服务用来管理本机上的媒体文件,提供媒体管理服务。在系统开机或者收到外部存储的挂载消息后,MediaProvider会调用MediaScanner,MediaScanner会扫描外部存储中的所有文件,根据文件类型的后缀将文件信息保存到对应的数据库中,供其他APP使用。

MediaScannerReceiver是一个广播接收者,当它接收到特定的广播请求后,就会去扫描指定的文件,并根据文件信息将其添加到数据库中。当文件被创建后,就可以发送广播给MediaScannerReceiver,通知其扫描新建的文件。示例如下。

[java] view plain copy

try {

File file = new File(dir + fileName + "jpg");

FileOutputStream out = new FileOutputStream(file);

mBitmapcompress(BitmapCompressFormatJPEG, 100, out);

outflush();

outclose();

//保存后发送广播通知更新数据库

Uri uri = UrifromFile(file);

sendBroadcast(new Intent(IntentACTION_MEDIA_SCANNER_SCAN_FILE, uri));

} catch (Exception e) {

eprintStackTrace();

}

的异步保存

保存文件时,如果很大,或需要同时保存多张时,就需要较多的时间。为了避免阻塞UI线程,出现帧率下降或ANR,通常需要将保存 *** 作放到线程中去执行。当保存完毕后通过sendMessage()方法通知UI线程保存结果。

将保存放到后台线程去执行需要增加一些同步机制避免一些多线程问题。例如有两张需要保存,分别放到两个线程中去执行,保存时文件名以数字顺序增加。第一个线程选中文件名为125jpg,但此时文件还未创建,第二个线程判断125jpg不存在,于是也选取125jpg作为文件名,两张就保存到同一个文件中了。

以上就是关于针对android 有哪些关于访问访问方面的权限全部的内容,包括:针对android 有哪些关于访问访问方面的权限、求安卓SD存储读写实例、在android AndroidManifest.xml文件中怎样设置访问网络的权限等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10154220.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存