如何在Android中使用Intent过滤器获取数据

时间:2018-08-02 06:03:21

标签: android android-intent

我试图生成特定活动的网址,因为我想通过我的应用程序共享该特定网址,并且当我们单击该网址时,我的活动应该被打开...我尝试了很多方法,但没有得到结果。为清单文件中的活动添加了意图过滤器,

<activity
            android:name="com.bodaty.samyata.samyata4.customer_service.Contacts"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateHidden" >
        <intent-filter>
            <!--<category android:name="android.intent.category.ALTERNATIVE" />-->
            <action android:name ="android.intent.action.VIEW"/>
            <category android:name ="android.intent.category.DEFAULT"/>
            <category android:name ="android.intent.category.BROWSABLE"/>
            <data android:scheme="http"
                android:host="www.samyata.com"
                />
        </intent-filter>
    </activity>

在创建活动时,我像这样添加了

Intent intent = getIntent();
String action = intent.getAction();
Uri data = intent.getData();
Log.e("dataaa", String.valueOf(data));

我想生成url以打开特定的产品详细信息页面,但是我无法生成url ...我正在尝试打印数据,但是数据始终为空,为什么有人可以帮助我

08-02 05:48:18.049 13864-13864/com.bodaty.samyata.samyata4 E/dataaa: null
08-02 05:48:40.488 13864-13864/com.bodaty.samyata.samyata4 E/dataaa: null

2 个答案:

答案 0 :(得分:0)

尝试一下:

Intent intent = getIntent();
Bundle bundle = intent.getExtras();
Uri uri = (Uri)bundle.get(Intent.EXTRA_STREAM);

有关https://developer.android.com/training/sharing/receive的更多信息

答案 1 :(得分:-1)

如果您的应用程序处理接收文本内容,任何类型的单个图像或任何类型的多个图像,则清单将如下所示:

<activity android:name=".ui.MyActivity" >
    <intent-filter>
        <action android:name="android.intent.action.SEND" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="image/*" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.SEND" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="text/plain" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.SEND_MULTIPLE" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="image/*" />
    </intent-filter>
</activity>

Please refer , How to handle the incoming content