安卓 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

Android报错: exposed beyond app through Intent.getData()

为啥 activeNetwork 为空? (在安卓中)

为啥我的位置为空? - 安卓