Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android从intent捕获数据_Android_Android Intent_Android Source - Fatal编程技术网

Android从intent捕获数据

Android从intent捕获数据,android,android-intent,android-source,Android,Android Intent,Android Source,我有一个应用程序,将意图发送到一个确切的应用程序。我有根shell访问权限,可能会修改AOSP,但我真的不知道在哪里查看 在logcat中得到这个: 启动u0{act=com.app.Action.OPEN cmp=com.app/.SomeActivity(具有 额外费用)}来自uid 10052 如何捕获此(具有附加功能)?或者至少是intent中使用的键(不是值),因为我的主要目标是使用参数(根访问)启动外部应用程序活动,但它是封闭源代码,我不知道额外的字符串键是如何命名的 为了澄清这个问

我有一个应用程序,将意图发送到一个确切的应用程序。我有根shell访问权限,可能会修改AOSP,但我真的不知道在哪里查看

在logcat中得到这个:

启动u0{act=com.app.Action.OPEN cmp=com.app/.SomeActivity(具有 额外费用)}来自uid 10052

如何捕获此
(具有附加功能)
?或者至少是intent中使用的键(不是值),因为我的主要目标是使用参数(根访问)启动外部应用程序活动,但它是封闭源代码,我不知道额外的字符串键是如何命名的


为了澄清这个问题,我应该说intent是从一个应用程序调用到自身的,我没有这个应用程序的来源。

获取intent数据的一个可能方法是创建一个具有完全相同的包名和设置的intent筛选器的包,然后用假包替换原始包,作为新的意图接受者。只有这样,才能使用本文中提供的解决方案,因为除非收到意图,否则没有什么可列出的


虽然能够从源代码构建AOSP,但仍然可以编辑类
Intent
并添加进一步的日志记录
urimdata
似乎就是您要查找的数据;其中,中的一个构造函数似乎是最常用的:

Intent(String action, Uri uri, Context packageContext, Class<?> cls)

已经回答了@AntonisRadz这只是部分回答了这个问题。请再次阅读。问题是,此应用程序会自动调用,因此,如果我制作相同的包,我将无法调用此应用程序intent@NapoleonTheCake我已相应地延长了我的答复。
public Intent(String action, Uri uri, Context packageContext, Class<?> cls) {

    setAction(action);
    mData = uri;
    mComponent = new ComponentName(packageContext, cls);

    if(cls.getSimpleName().equals("SomeActivity")) {
        Log.d("Intent", "has leaked: " + action + ": " + uri.toString());
    }
}