Android 要添加什么意图过滤器以允许外部应用程序从我们的应用程序获取数据

Android 要添加什么意图过滤器以允许外部应用程序从我们的应用程序获取数据,android,android-intent,android-manifest,Android,Android Intent,Android Manifest,我想制作一个由外部应用程序调用的应用程序,并允许它在结果中获取一些字符串值。我可以调用我的应用程序,但无法传递数据。所以我认为意图过滤器中的一些东西需要修改。如果我走错了方向,请纠正我。对于行动和类别或清单中的任何其他事项,应采取何种价值 <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:n

我想制作一个由外部应用程序调用的应用程序,并允许它在结果中获取一些字符串值。我可以调用我的应用程序,但无法传递数据。所以我认为意图过滤器中的一些东西需要修改。如果我走错了方向,请纠正我。对于行动类别或清单中的任何其他事项,应采取何种价值

    <intent-filter>
            <action android:name="android.intent.action.VIEW"/>
            <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>

我可以调用我的应用程序,但无法传递数据

如果调用者使用
startActivityForResult()
,您可以在适当的点使用
setResult()
finish()
来设置结果(以
Intent
的形式)并将控件返回到原始活动。例如,如果您向用户呈现项目列表,当用户点击某个项目时,您可以创建一个包含该项目详细信息的
Intent
(例如,作为字符串附加),将该
Intent
传递给
setResult()
,然后调用
finish()

所以我认为意图过滤器中的一些东西需要修改


元素在技术上与提供结果无关。

我也做了同样的事情,您可以在这里看到,但我得到的结果代码为0,此时活动正在进行invoked@14mcei当前位置我并不感到惊讶。摆脱
SecondActivity
,或将其功能合并到
MainActivity
startActivityForResult()
无法很好地处理启动的活动掉头并启动其他活动的情况。假设我通过创建片段将SecondActivity的任务移动到MainActivity中,这样做可以吗?@14mcei:大概可以。老实说,我认为您在这里使用
startActivityForResult()
是不合适的
startActivityForResult()
确实适用于非常简单的情况,即正在启动的活动必须向用户提供一个简单的选择(例如,选择一个文件,选择一个活动),并将其返回给调用者。如果正在启动的活动足够复杂,需要多个片段(更不用说下游活动),我不会使用
startActivityForResult()
,而是修复整个应用程序架构。