getIntent()。getStringExtra(Intent.EXTRA_TEXT)具有相同的结果

时间:2014-03-03 08:52:44

标签: android android-intent

我的活动包含以下Intent-Filter

 <activity
        android:name="com.extratexttest.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
           <intent-filter>
            <action android:name="android.intent.action.SEND" />

            <data android:mimeType="text/plain" />

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

我正在从Intent中检索这样的String:

if (getIntent().hasExtra(Intent.EXTRA_TEXT))
    {
        String strResult = getIntent().getStringExtra(Intent.EXTRA_TEXT);
        Log.i("", "Received String : " + strResult);

    }

我第一次运行应用程序时效果很好而且我收到了价值。但是,下次我对不同的字符串执行相同的操作时,我得到相同的结果。似乎它在某处缓存了结果。如何清除缓存?

编辑:只有当我通过“最近的任务按钮”按钮返回时才会发生这种情况...当我按下后退按钮时它很有效......

1 个答案:

答案 0 :(得分:0)

将此添加到android:label="@string/app_name"

下的清单中
android:launchMode="singleTop"

在活动中,覆盖此方法:

@Override
public void onNewIntent(Intent intent) { 
    // Handle new intent here.
}