有意在android 10中安装apk时出现异常(android.content.ActivityNotFoundException)

有意在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

我正在测试我的android应用程序以支持android版本10

当我在安卓10设备上测试应用程序时, apk安装过程存在一些问题

这是我的源代码测试信息:-

        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上的意图。