java - 如何从自身更新android应用程序
问题描述
我有一个 android 应用程序,我想实现每次将新版本上传到主机时,用户都可以更新应用程序的方法。主要问题是,未知的应用程序来源,我通过这段代码(在 java 类中)管理了这个问题:
update.java:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
if (!context.getPackageManager().canRequestPackageInstalls()) {
int Request_code=1234;
Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES);
intent.setData(Uri.parse("package:com.example.test"));
((Activity) context).startActivityForResult(intent, Request_code);
}
}
并在活动中:
LoginActivity.java:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK && requestCode == 1234) {
Toast.makeText(LoginActivity.this, "allowed", Toast.LENGTH_LONG).show();
}
}
因此开放设置和用户可以选择是否允许此来源。 在此处输入图像描述 但是在设置中(屏幕截图被带入图片)当用户点击允许然后点击返回时,设置页面关闭并且用户看不到吐司。
有什么问题?谢谢你的帮助。
解决方案
推荐阅读
- c# - Fetch value from database as selected in dropdownlist
- authentication - .NET Core 如何从已创建的其他应用程序 cookie 中进行身份验证?
- couchdb - CouchDB 检查文档是否存在于验证函数中
- javascript - React Router 的多个参数
- r - 尝试从横截面数据创建面板数据
- websocket - 哎呀!失去与 http://198.xxx:hostnumber/websocket 的连接
- php - 如何仅从数据库中选择唯一项目
- ios - Swift 多个 UIExView 辞职响应者处理
- python - 使用 sqlalchemy ORM 从动态更改字典创建 MySQL 表
- javascript - 如何通过 Node.js 或 NPM 模块组合/序列化此类 JSON 对象?