<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"
好像可以找到,但是却不能调用安装
我在后来改成了绝对路径终于可以运行了
PotPlayer中看直播的具体流程首先我们打开PotPlayer,然后选择软件右下角的多功能侧边栏,然后我们进行点击参考下图
接着会d出一个播放列表,我们选择播放列表下面的添加,在这里我们可以对,直播的设置进行添加。
PotPlayer中看直播的具体流程 potplayer怎么播放直播源
这时候我们在d出的下拉框中,我们选择添加链接,当然如果我们有直播源的文件的话,我们直接选择添加文件,然后将文件进行导入也是可以的。
然后我们在d出来的地址框中,我们输入自己想要观看直播的入口,当我们输入后,文件列表中就会显示出来参考下图
最后一步我们双击文件列表中的直播入口,你就可以观看直播了。
以上就是关于PotPlayer中看直播的具体流程,你们是不是都学会了呀!
Android NDK的例子中,每个需要编译的c/c++文件都是清晰的列在Android.mk文件中LOCAL_SRC_FILES变量后面的,如果文件很多,这样就不好办了。我们可以使用通配符来解决大量的源文件添加到Android.mk的问题:
第1行是使用GNU Make函数wildcard来查找所有目录下面的文件,这里查找的是"当前项目路径/foo"目录下面的所有的“.c”文件,
第2行会把所有找到的文件名中的$(LOCLA_PATH)路径给去掉,只剩下foo/*.c类似的名字。
MY_FILES := $(wildcard $(LOCAL_PATH)/foo/*.c)
MY_FILES := $(MY_FILES:$(LOCAL_PATH)/%=%)
LOCAL_SRC_FILES += $(MY_FILES)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)