安卓10怎么添加系统软件

安卓10怎么添加系统软件,第1张

1.首先添加授权,

<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.REPLACE_EXISTING_PACKAGE" />

<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

然后再<application ......>中添加

android:requestLegacyExternalStorage="true"

android:usesCleartextTraffic="true"

这一堆权限添加下来准没问题

2.然后还要在<application>......</application>中添加这样一串代码

只需要修改authorities就可以了

<provider

android:name="androidx.core.content.FileProvider"

android:authorities="程序的包名.fileprovider" //这里要与后面的对应起来,注意大小写一致

android:exported="false"

android:grantUriPermissions="true">

<meta-data

android:name="android.support.FILE_PROVIDER_PATHS"

android:resource="@xml/file_paths" />//这个是一个xml文件,顾名思义是文件路径用的

//AS中点击alt+enter自动建立file_paths.xml

</provider>

3.找到file_paths.xml 一般就在res目录下

就是这个

把path修改为你的软件保存的目录

<resources>

<root-path

name="app" //不需要改

path="/sdcard/holimy" //你下载的软件保存的目录

/>

</resources>

4.之后就是调用安装程序了

这里修改软件的路径

然后让那一串字符与前面对应

Intent installIntent=new Intent()

installIntent.setAction(Intent.ACTION_VIEW)

installIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK)

installIntent.addCategory(Intent.CATEGORY_DEFAULT)

File f=new File("/sdcard/holimy/dq1.apk")//找到下载的文件路径

String type="application/vnd.android.package-archive"

如果是android7之后

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {

Uri uri = FileProvider.getUriForFile(context,

"包名.fileprovider", f)//这一部分要与前面对应

installIntent.addFlags(installIntent.FLAG_GRANT_READ_URI_PERMISSION)

installIntent.setDataAndType(uri, type)

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

boolean hasInstallPermission =getPackageManager().canRequestPackageInstalls()

if (!hasInstallPermission) {

startInstallPermissionSettingActivity()

}

}

} else {

installIntent.setDataAndType(Uri.fromFile(f), type)

}

startActivityForResult(installIntent,0)

android.os.Process.killProcess(android.os.Process.myPid())//关闭程序

@RequiresApi(api = Build.VERSION_CODES.O)

private void startInstallPermissionSettingActivity() {

//注意这个是8.0新API

Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES)

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)

startActivity(intent)

}

这样以来

就可以调用安装程序了

其中就是路径需要注意一下,看了网上许多人在路径中都是用了

Environment.getExternalStorageDirectory()

对于这个不太懂,一开始我在new File()中使用的是Environment.getExternalStorageDirectory()+"holimy/dq1.apk"

好像可以找到,但是却不能调用安装

我在后来改成了绝对路径终于可以运行了

这几天突然要发一个中国台湾版本,做法比较硬:复制一个工程,改包名,改图标,改api接口。语言全部都是繁体就行:

Android studio添加新语言资源文件(res/values/....)如下:

然后回车即可:

把对应的字符串翻译成繁体就行。至于翻译,有一些工具可以借鉴。同时网上也有很多多语言切换的方式,就是一个工程,一个app进行内部切换多语言支持的方式(像微信就是。不过微信繁体有些不一定都支持了...)。具体看情况啦。。。

因为我们是整个app就是中国台湾台北版本,所以就都是繁体,不管系统是简体还是繁体还是别的,就是繁体!!!

简单记录下。好多东西没怎么关注或者使用,至于是否要深入,可能要看情况....

参考o: android--实现多语言支持 - snow_flower - 博客园


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

原文地址: http://outofmemory.cn/bake/11231840.html

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

发表评论

登录后才能评论

评论列表(0条)

保存