我採取了將自己的活動放入啓動過程的解決方法。
我的Service
啓動了我的HelperActivity
附加功能,用於識別我希望啓動/帶到的任務。
HelperActivity
在onCreate()
中啓動實際任務,使用overridePendingTransition()
動畫更改。然後撥打finish()
以保持隱藏狀態。
顯然HelperActivity
需要從背後隱藏,所以清單反映了這一點。
也有安全問題,以這種幼稚的方法 - 看看相關的帖子由Commonsware:
這種類型的活動應儘可能安全。對於我的演示版本,我很樂意設置android:exported="false"
。
清單代碼:
<activity
android:name=".SwitchAnimationHelperActivity"
android:excludeFromRecents="true"
android:exported="false"
android:noHistory="true" >
</activity>
HelperActivity代碼:
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
String componentName = getIntent().getStringExtra("TASK_ID_API");
Intent newTask = new Intent(Intent.ACTION_MAIN);
newTask.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
newTask.setComponent(ComponentName.unflattenFromString(componentName));
startActivity(newTask);
overridePendingTransition(R.anim.anim_zoom_in, R.anim.anim_slide_out_left);
// job is done
finish();
}
所以有它是 - 動畫從Service
發射任務的一種方式。
解決方法是啓動隱形活動,然後啓動我想要顯示的內容。但是這給這個過程增加了一點點延遲。 –