android怎么在代码里获得系统文件的读写权限

android怎么在代码里获得系统文件的读写权限,第1张

1、必须是Android系统开发人员,否则你无法修改initrc等文件。

2、你的应用程序必须要获得system权限

在应用层 你要想用代码获得系统文件权限,除非你手机root了

要么你自己做rom,自己修改 init,rc 。

描述不清楚啊,这是所有的权限

---------------------

访问登记属性 androidpermissionACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限

获取错略位置 androidpermissionACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米

获取精确位置 androidpermissionACCESS_FINE_LOCATION,通过GPS芯片接收卫星的定位信息,定位精度达10米以内

访问定位额外命令 androidpermissionACCESS_LOCATION_EXTRA_COMMANDS,允许程序访问额外的定位提供者指令

获取模拟定位信息 androidpermissionACCESS_MOCK_LOCATION,获取模拟定位信息,一般用于帮助开发者调试应用

获取网络状态 androidpermissionACCESS_NETWORK_STATE,获取网络信息状态,如当前的网络连接是否有效

访问Surface Flinger androidpermissionACCESS_SURFACE_FLINGER,Android平台上底层的图形显示支持,一般用于游戏或照相机预览界面和底层模式的屏幕截图

获取WiFi状态 androidpermissionACCESS_WIFI_STATE,获取当前WiFi接入的状态以及WLAN热点的信息

账户管理 androidpermissionACCOUNT_MANAGER,获取账户验证信息,主要为GMail账户信息,只有系统级进程才能访问的权限

验证账户 androidpermissionAUTHENTICATE_ACCOUNTS,允许一个程序通过账户验证方式访问账户管理ACCOUNT_MANAGER相关信息

电量统计 androidpermissionBATTERY_STATS,获取电池电量统计信息

绑定小插件 androidpermissionBIND_APPWIDGET,允许一个程序告诉appWidget服务需要访问小插件的数据库,只有非常少的应用才用到此权限

绑定设备管理 androidpermissionBIND_DEVICE_ADMIN,请求系统管理员接收者receiver,只有系统才能使用

绑定输入法 androidpermissionBIND_INPUT_METHOD ,请求InputMethodService服务,只有系统才能使用

绑定RemoteView androidpermissionBIND_REMOTEVIEWS,必须通过RemoteViewsService服务来请求,只有系统才能用

绑定壁纸 androidpermissionBIND_WALLPAPER,必须通过WallpaperService服务来请求,只有系统才能用

使用蓝牙 androidpermissionBLUETOOTH,允许程序连接配对过的蓝牙设备

蓝牙管理 androidpermissionBLUETOOTH_ADMIN,允许程序进行发现和配对新的蓝牙设备

变成砖头 androidpermissionBRICK,能够禁用手机,非常危险,顾名思义就是让手机变成砖头

应用删除时广播 androidpermissionBROADCAST_PACKAGE_REMOVED,当一个应用在删除时触发一个广播

收到短信时广播 androidpermissionBROADCAST_SMS,当收到短信时触发一个广播

连续广播 androidpermissionBROADCAST_STICKY,允许一个程序收到广播后快速收到下一个广播

WAP PUSH广播 androidpermissionBROADCAST_WAP_PUSH,WAP PUSH服务收到后触发一个广播

拨打电话 androidpermissionCALL_PHONE,允许程序从非系统拨号器里输入电话号码

通话权限 androidpermissionCALL_PRIVILEGED,允许程序拨打电话,替换系统的拨号器界面

拍照权限 androidpermissionCAMERA,允许访问摄像头进行拍照

改变组件状态 androidpermissionCHANGE_COMPONENT_ENABLED_STATE,改变组件是否启用状态

改变配置 androidpermissionCHANGE_CONFIGURATION,允许当前应用改变配置,如定位

改变网络状态 androidpermissionCHANGE_NETWORK_STATE,改变网络状态如是否能联网

改变WiFi多播状态 androidpermissionCHANGE_WIFI_MULTICAST_STATE,改变WiFi多播状态

改变WiFi状态 androidpermissionCHANGE_WIFI_STATE,改变WiFi状态

清除应用缓存 androidpermissionCLEAR_APP_CACHE,清除应用缓存

清除用户数据 androidpermissionCLEAR_APP_USER_DATA,清除应用的用户数据

底层访问权限 androidpermissionCWJ_GROUP,允许CWJ账户组访问底层信息

手机优化大师扩展权限 androidpermissionCELL_PHONE_MASTER_EX,手机优化大师扩展权限

控制定位更新 androidpermissionCONTROL_LOCATION_UPDATES,允许获得移动网络定位信息改变

删除缓存文件 androidpermissionDELETE_CACHE_FILES,允许应用删除缓存文件

删除应用 androidpermissionDELETE_PACKAGES,允许程序删除应用

电源管理 androidpermissionDEVICE_POWER,允许访问底层电源管理

应用诊断 androidpermissionDIAGNOSTIC,允许程序到RW到诊断资源

禁用键盘锁 androidpermissionDISABLE_KEYGUARD,允许程序禁用键盘锁

转存系统信息 androidpermissionDUMP,允许程序获取系统dump信息从系统服务

状态栏控制 androidpermissionEXPAND_STATUS_BAR,允许程序扩展或收缩状态栏

工厂测试模式 androidpermissionFACTORY_TEST,允许程序运行工厂测试模式

使用闪光灯 androidpermissionFLASHLIGHT,允许访问闪光灯

强制后退 androidpermissionFORCE_BACK,允许程序强制使用back后退按键,无论Activity是否在顶层

访问账户Gmail列表 androidpermissionGET_ACCOUNTS,访问GMail账户列表

获取应用大小 androidpermissionGET_PACKAGE_SIZE,获取应用的文件大小

获取任务信息 androidpermissionGET_TASKS,允许程序获取当前或最近运行的应用

允许全局搜索 androidpermissionGLOBAL_SEARCH,允许程序使用全局搜索功能

硬件测试 androidpermissionHARDWARE_TEST,访问硬件辅助设备,用于硬件测试

注射事件 androidpermissionINJECT_EVENTS,允许访问本程序的底层事件,获取按键、轨迹球的事件流

安装定位提供 androidpermissionINSTALL_LOCATION_PROVIDER,安装定位提供

安装应用程序 androidpermissionINSTALL_PACKAGES,允许程序安装应用

内部系统窗口 androidpermissionINTERNAL_SYSTEM_WINDOW,允许程序打开内部窗口,不对第三方应用程序开放此权限

访问网络 androidpermissionINTERNET,访问网络连接,可能产生GPRS流量

结束后台进程 androidpermissionKILL_BACKGROUND_PROCESSES,允许程序调用killBackgroundProcesses(String)方法结束后台进程

管理账户 androidpermissionMANAGE_ACCOUNTS,允许程序管理AccountManager中的账户列表

管理程序引用 androidpermissionMANAGE_APP_TOKENS,管理创建、摧毁、Z轴顺序,仅用于系统

高级权限 androidpermissionMTWEAK_USER,允许mTweak用户访问高级系统权限

社区权限 androidpermissionMTWEAK_FORUM,允许使用mTweak社区权限

软格式化 androidpermissionMASTER_CLEAR,允许程序执行软格式化,删除系统配置信息

修改声音设置 androidpermissionMODIFY_AUDIO_SETTINGS,修改声音设置信息

修改电话状态 androidpermissionMODIFY_PHONE_STATE,修改电话状态,如飞行模式,但不包含替换系统拨号器界面

格式化文件系统 androidpermissionMOUNT_FORMAT_FILESYSTEMS,格式化可移动文件系统,比如格式化清空SD卡

挂载文件系统 androidpermissionMOUNT_UNMOUNT_FILESYSTEMS,挂载、反挂载外部文件系统

允许NFC通讯 androidpermissionNFC,允许程序执行NFC近距离通讯 *** 作,用于移动支持

永久Activity androidpermissionPERSISTENT_ACTIVITY,创建一个永久的Activity,该功能标记为将来将被移除

处理拨出电话 androidpermissionPROCESS_OUTGOING_CALLS,允许程序监视,修改或放弃播出电话

读取日程提醒 androidpermissionREAD_CALENDAR,允许程序读取用户的日程信息

读取联系人 androidpermissionREAD_CONTACTS,允许应用访问联系人通讯录信息

屏幕截图 androidpermissionREAD_FRAME_BUFFER,读取帧缓存用于屏幕截图

读取收藏夹和历史记录 comandroidbrowserpermissionREAD_HISTORY_BOOKMARKS,读取浏览器收藏夹和历史记录

读取输入状态 androidpermissionREAD_INPUT_STATE,读取当前键的输入状态,仅用于系统

读取系统日志 androidpermissionREAD_LOGS,读取系统底层日志

读取电话状态 androidpermissionREAD_PHONE_STATE,访问电话状态

读取短信内容 androidpermissionREAD_SMS,读取短信内容

读取同步设置 androidpermissionREAD_SYNC_SETTINGS,读取同步设置,读取Google在线同步设置

读取同步状态 androidpermissionREAD_SYNC_STATS,读取同步状态,获得Google在线同步状态

重启设备 androidpermissionREBOOT,允许程序重新启动设备

开机自动允许 androidpermissionRECEIVE_BOOT_COMPLETED,允许程序开机自动运行

接收彩信 androidpermissionRECEIVE_MMS,接收彩信

接收短信 androidpermissionRECEIVE_SMS,接收短信

接收Wap Push androidpermissionRECEIVE_WAP_PUSH,接收WAP PUSH信息

录音 androidpermissionRECORD_AUDIO,录制声音通过手机或耳机的麦克

排序系统任务 androidpermissionREORDER_TASKS,重新排序系统Z轴运行中的任务

结束系统任务 androidpermissionRESTART_PACKAGES,结束任务通过restartPackage(String)方法,该方式将在外来放弃

发送短信 androidpermissionSEND_SMS,发送短信

设置Activity观察其 androidpermissionSET_ACTIVITY_WATCHER,设置Activity观察器一般用于monkey测试

设置闹铃提醒 comandroidalarmpermissionSET_ALARM,设置闹铃提醒

设置总是退出 androidpermissionSET_ALWAYS_FINISH,设置程序在后台是否总是退出

设置动画缩放 androidpermissionSET_ANIMATION_SCALE,设置全局动画缩放

设置调试程序 androidpermissionSET_DEBUG_APP,设置调试程序,一般用于开发

设置屏幕方向 androidpermissionSET_ORIENTATION,设置屏幕方向为横屏或标准方式显示,不用于普通应用

设置应用参数 androidpermissionSET_PREFERRED_APPLICATIONS,设置应用的参数,已不再工作具体查看addPackageToPreferred(String) 介绍

设置进程限制 androidpermissionSET_PROCESS_LIMIT,允许程序设置最大的进程数量的限制

设置系统时间 androidpermissionSET_TIME,设置系统时间

设置系统时区 androidpermissionSET_TIME_ZONE,设置系统时区

设置桌面壁纸 androidpermissionSET_WALLPAPER,设置桌面壁纸

设置壁纸建议 androidpermissionSET_WALLPAPER_HINTS,设置壁纸建议

发送永久进程信号 androidpermissionSIGNAL_PERSISTENT_PROCESSES,发送一个永久的进程信号

状态栏控制 androidpermissionSTATUS_BAR,允许程序打开、关闭、禁用状态栏

访问订阅内容 androidpermissionSUBSCRIBED_FEEDS_READ,访问订阅信息的数据库

写入订阅内容 androidpermissionSUBSCRIBED_FEEDS_WRITE,写入或修改订阅内容的数据库

显示系统窗口 androidpermissionSYSTEM_ALERT_WINDOW,显示系统窗口

更新设备状态 androidpermissionUPDATE_DEVICE_STATS,更新设备状态

使用证书 androidpermissionUSE_CREDENTIALS,允许程序请求验证从AccountManager

使用SIP视频 androidpermissionUSE_SIP,允许程序使用SIP视频服务

使用振动 androidpermissionVIBRATE,允许振动

唤醒锁定 androidpermissionWAKE_LOCK,允许程序在手机屏幕关闭后后台进程仍然运行

写入GPRS接入点设置 androidpermissionWRITE_APN_SETTINGS,写入网络GPRS接入点设置

写入日程提醒 androidpermissionWRITE_CALENDAR,写入日程,但不可读取

写入联系人 androidpermissionWRITE_CONTACTS,写入联系人,但不可读取

写入外部存储 androidpermissionWRITE_EXTERNAL_STORAGE,允许程序写入外部存储,如SD卡上写文件

写入Google地图数据 androidpermissionWRITE_GSERVICES,允许程序写入Google Map服务数据

写入收藏夹和历史记录 comandroidbrowserpermissionWRITE_HISTORY_BOOKMARKS,写入浏览器历史记录或收藏夹,但不可读取

读写系统敏感设置 androidpermissionWRITE_SECURE_SETTINGS,允许程序读写系统安全敏感的设置项

读写系统设置 androidpermissionWRITE_SETTINGS,允许读写系统设置项

编写短信 androidpermissionWRITE_SMS,允许编写短信

写入在线同步设置 androidpermissionWRITE_SYNC_SETTINGS,写入Google在线同步设置

我们知道 Android 应用程序是沙箱隔离的,每个应用都有一个只有自己具有读写权限的专用数据目录。但是如果应用要访问别人的组件或者一些设备上全局可访问的资源,这时候权限机制就能系统化地规范并强制各类应用程序的行为准则。

Android 安全性概览

在 Android 中,一个权限,本质上是一个字符串,一个可以表示执行特定 *** 作的能力的字符串。比如说:访问 SD 卡的能力,访问通讯录的能力,启动或访问一个第三方应用中的组件的能力。 权限被授予了之后,首先会在内存和本地中有记录,这在调用系统binder服务和其他应用组件时做鉴权依据,比如调用系统binder服务时会通过BindergetCallingUid()拿到调用者的Uid,而Uid一般都是与应用包名一一对应的,再拿这个Uid到PMS里去查这个应用对应的权限。 其次会按被授予的权限将应用分到某个组。 可以参考 >

数据库支持,无论生命线的大小每一个应用程序,除非你的应用程序只能处理简单的数据,你需要一个数据库系统来存储你的结构化数据,使用SQLite数据库,这是一个开源的Android,支持多 *** 作系统的SQL数据库广泛应用于许多领域,如Mozilla Firefox是使用SQLite的存储配置数据,iPhone还使用SQLite来存储数据。

在Android中,您创建一个应用程序的数据库,只有它可以访问,其他应用程序无法访问位于Android设备/数据/数据/ /数据库文件夹中的数据库,在这篇文章中,您将学习如何创建和使用在Android的数据库。

SQLite数据库

使用Eclipse创建一个Android项目,命名数据库,如图1:

中国1数据库 - 使用Eclipse创建新项目的Android

创建最佳实践DBAdapter数据库的辅助类

*** 作是创建一个辅助类,它封装了访问数据库的所有复杂性,调用代码来讲它是透明的,所以我创建了一个帮手DBAdapter类,创建,打开,关闭和使用SQLite数据库它。

首先,在src /文件夹(在本实施例中的src / netlearn2developDatabase)下一个DBAdapterjava文件中的溶液。

在DBAdapterjava文件要使用导入所有的命名空间:

- 软件包netlearn2developDatabases;

中国进口androidcontentContentValues;

进口androidcontentContext;

进口androiddatabaseCursor;

进口androiddatabaseSQLException;

进口androiddatabasesqliteSQLiteDatabase;

进口androiddatabasesqlite SQLiteOpenHelper;

进口androidutilLog;

公共类DBAdapter

{}

中国接下来,创建一个数据库,名为bookstitles,如图所示领域。

中国2数据库字段酒店在DBAdapterjava文件,如清单1

文件清单1中定义的常量定义DBAdapterjava不断

包netlearn2developDatabase;

进口androidcontentContentValues;

进口androidcontent。语境;

进口androiddatabaseCursor;

进口androiddatabaseSQLException;

进口androiddatabasesqliteSQLiteDatabase;

进口androiddatabasesqliteSQLiteOpenHelper;

进口androidutilLog;

公共类DBAdapter

{

公共静态最后弦乐KEY_ROWID = _id;

公共静态最后弦乐KEY_ISBN = ISBN;

公共静态最后弦乐KEY_TITLE =称号;

公共静态最后弦乐KEY_PUBLISHER =发行;

私有静态最后字符串变量= DBAdapter;

私有静态最后弦乐DATABASE_NAME =书籍;

私有静态最后弦乐DATABASE_TABLE =职称;

私有静态最终诠释DATABASE_VERSION = 1;

私有静态最后弦乐DATABASE_CREATE =

创建表的标题(_id整数主键自动增量,

+ ISBN文本不为空,标题文本不为空,

+出版商文字NOT NULL); ;

私人最终上下文语境;

}

DATABASE_CREATE常数包括标题表创建SQL语句。

在DBAdapter类,你可以扩展SQLiteOpenHelper类,这是一款Android辅助类,主要用于创建数据库和版本管理。事实上,你可以覆盖的onCreate()和onUpgrade()方法,如清单2所示清单2

DBAdapter类,涵盖了SQLiteOpenHelper的onCreate()和onUpgrade()方法登录到到网扩展类 - 软件包netlearn2developDatabase;

中国进口的Android。 contentContentValues;

进口androidcontentContext;

进口androiddatabaseCursor;

进口androiddatabaseSQLException;

进口androiddatabasesqliteSQLiteDatabase;

进口androiddatabasesqliteSQLiteOpenHelper;

进口androidutilLog;

公共类DBAdapter

{

公共静态最后弦乐KEY_ROWID = _id;

公共静态最后弦乐KEY_ISBN = ISBN;

公共静态最后弦乐KEY_TITLE =称号;

公共静态最后弦乐KEY_PUBLISHER =发行;

私有静态最后字符串变量= DBAdapter;

私有静态最后弦乐DATABASE_NAME =书籍;

私有静态最后弦乐DATABASE_TABLE =职称;

私有静态最终诠释DATABASE_VERSION = 1;

私有静态最后弦乐DATABASE_CREATE =

创建表的标题(_id整数主键自动增量,

+ ISBN文本不为空,标题文本不为空,

+出版商文字NOT NULL);;

私人最终上下文语境;

私人DatabaseHelper DBHelper;

私人SQLiteDatabase分贝;

公共DBAdapter(上下文CTX){

thiscontext = CTX;

DBHelper =新DatabaseHelper(上下文);

}

私有静态类DatabaseHelper扩展SQLiteOpenHelper

{

DatabaseHelper(上下文环境){

超(背景下,DATABASE_NAME,空,DATABASE_VERSION);

}

覆盖

公共无效的onCreate(SQLiteDatabase DB){

dbexecSQL(DATABASE_CREATE);

}

覆盖

公共无效onUpgrade(SQLiteDatabase分贝,INT oldVersion,

INT NEWVERSION){

Logw(TAG,从版本升级数据库?+ oldVersion

?+到

+ NEWVERSION +,这将销毁所有旧的数据);

dbexecSQL(“DROP TABLE IF EXISTS标题”);

的onCreate(DB);

}}

}

的onCreate()方法创建一个新的数据库,onUpgrade()方法用于升级数据库,它可以通过检查DATABASE_VERSION常数值来定义?实现,为onUpgrade()方法,只是简单地删除表,然后只创建一个表。

(1)上面那个问题其实就是代码没有找到su的位置,才导致权限没有修改过来你找找你的模拟器或者手机上面的su的位置,修改路径就可以了

那个代码写的system/bin/su 而我的手机是在system/xbin/su下面。修改这个路径就好了。

(2)没得 权限 加上 在 AndroidManifestxml中

<!--往sdcard中写入数据的权限 -->

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

< !--在sdcard中创建/删除文件的权限 -->

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

以上就是关于android怎么在代码里获得系统文件的读写权限全部的内容,包括:android怎么在代码里获得系统文件的读写权限、android中这两个权限起什么作用、Android权限机制等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9458289.html

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

发表评论

登录后才能评论

评论列表(0条)

保存