安卓 Intent.getData() 为空
Posted 陈蒙_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓 Intent.getData() 为空相关的知识,希望对你有一定的参考价值。
文章目录
我们可以通过两种方式打开 Activity:隐式和显式。
隐式
隐式是通过 schema 的方式打开,Java 实现:
Java 实现
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("demo://targetpage"));
startActivity(intent);
adb 命令实现
adb 命令实现:
adb shell am start -a android.intent.action.VIEW -d "demo://targetpage"
显式
而显式则是通过 Activity.class 直接跳转。比如使用 Java 代码:
Java 实现
Intent intent = new Intent(CurrentActivity.this, TargetActivity.class);
startActivity(intent);
adb 命令实现
显式也可以通过 adb 命令行来实现跳转:
adb shell am start -n com.example.mypackage/com.example.TargetActivity
注意,通过显式跳转方式打开的的 TargetActivity,在 TargetActivity 中使用 getIntent().getData() 获取的 URI 为 null。
以上是关于安卓 Intent.getData() 为空的主要内容,如果未能解决你的问题,请参考以下文章
android 手机拍照返回 Intent==null 以及intent.getData==null
Camera intent.getData()在某些设备上返回null,主要在android 7.0
android.os.FileUriExposedException:通过 Intent.getData() 异常暴露在应用程序之外,同时共享 VCFile