有意在android 10中安装apk时出现异常(android.content.ActivityNotFoundException)
我正在测试我的android应用程序以支持android版本10 当我在安卓10设备上测试应用程序时, apk安装过程存在一些问题 这是我的源代码和测试信息:-有意在android 10中安装apk时出现异常(android.content.ActivityNotFoundException),android,android-intent,android-sdk-tools,Android,Android Intent,Android Sdk Tools,我正在测试我的android应用程序以支持android版本10 当我在安卓10设备上测试应用程序时, apk安装过程存在一些问题 这是我的源代码和测试信息:- File realFilePath = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/app-debug.apk"); if(realFilePath.exists()) { Ur
File realFilePath = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + "/app-debug.apk");
if(realFilePath.exists()) {
Uri apkUri = Uri.fromFile(realFilePath);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(apkUri, "application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try {
startActivity(intent);
} catch (Exception e) {
e.printStackTrace();
}
}
错误消息
2020-02-20 14:02:13.987 9572-9572/com.example.myapplication W/System.err: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW dat=file:///storage/emulated/0/app-debug.apk typ=application/vnd.android.package-archive flg=0x10000000 }
2020-02-20 14:02:13.987 9572-9572/com.example.myapplication W/System.err: at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:2058)
2020-02-20 14:02:13.987 9572-9572/com.example.myapplication W/System.err: at android.app.Instrumentation.execStartActivity(Instrumentation.java:1716)
2020-02-20 14:02:13.987 9572-9572/com.example.myapplication W/System.err: at android.app.Activity.startActivityForResult(Activity.java:5192)
2020-02-20 14:02:13.987 9572-9572/com.example.myapplication W/System.err: at android.app.Activity.startActivityForResult(Activity.java:5150)
2020-02-20 14:02:13.987 9572-9572/com.example.myapplication W/System.err: at android.app.Activity.startActivity(Activity.java:5521)
2020-02-20 14:02:13.987 9572-9572/com.example.myapplication W/System.err: at android.app.Activity.startActivity(Activity.java:5489)
测试信息
================================
android {
compileSdkVersion 28
buildToolsVersion "28.0.3"
defaultConfig {
applicationId "com.example.myapplication"
minSdkVersion 15
targetSdkVersion 22
================================
安卓9:也不例外。
Android 10:存在ActivityNotFoundException,无法安装apk
我已经知道我需要使用文件提供程序来访问外部文件。
但是,正如您所看到的,我将targetSdkVersion版本设置为22
targetSdkVersion 22
为什么该错误只发生在Android 10设备上?尝试以下方法:
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
如果设备上没有可以接收隐式意图的应用程序,则当调用startActivity()时,应用程序将崩溃。要首先验证是否存在用于接收意图的应用程序,请在您的意图对象上调用
resolveActivity()
。如果结果为非null,则至少有一个应用程序可以处理该意图,并且可以安全地调用startActivity()。如果结果为空,则不应使用意图。谢谢。我检查了一下,没有一个应用程序可以处理我在安卓10上的意图。