2015-02-10 65 views
4

我們有一個工業控制應用程序,我們使用我們的製造產品在三星Galaxy平板電腦上預先加載併發貨。任何方式來禁用/覆蓋Galaxy Tab 4上的mutitsk按鈕?

我們使用的平板電腦是運行Honeycomb的Tab 10,但我們無法獲得足夠的OEM以便OEM,因此我們切換到運行KitKat的Tab 4。新的平板電腦有一個看起來像舊按鈕的按鈕 - 兩個重疊的矩形 - 但它是不同的功能 - 它被稱爲「多任務」按鈕,它帶來了一個任務切換器/任務殺手。

我們希望以編程方式禁用它或用不同的行爲覆蓋它。我們如何做到這一點?這是KitKat的功能,還是三星定製,我們無法獲得編程訪問?

+0

「這是KitKat的功能」 - 是的。這是自從Android 1.0以來,您已經從長久的HOME獲得的相同的最新任務列表(儘管樣式會因Android版本和可能的製造商更改而有所不同)。 – CommonsWare 2015-02-10 16:15:53

+0

任何方法來攔截/重寫這個? – user316117 2015-02-10 16:26:09

+0

不在ROM MOD,AFAIK之外。或者換一種說法,如果有*是一種干擾它的方式,那麼這是一個需要解決的安全缺陷。 Android 5.0可能是您長期的正確答案,因爲它具有可用於此類場景的特殊「固定」模式。恕我直言,無論如何,任何人都不應該使用股票ROM作爲工業控制場景,因爲您的需求不同於普通消費者和普通消費者設備製造商的需求。 – CommonsWare 2015-02-10 16:34:14

回答

1

據我所知 - 不,你不能覆蓋應用程序的系統控制。

儘管你可以用ROM模塊來實現這一點。 :)

下面是一些相關鏈接:

Android Override multitasking-key

How to ignore button click of 「Recent Activity Button」 in android 3.0

+0

「系統控制」是指你的意思是什麼?我們覆蓋我們應用中的其他硬件按鈕,例如後退按鈕,我們正在使用股票ROM。 – user316117 2015-02-10 16:25:29

+0

我不得不自己處理相同的問題,無法覆蓋多任務鍵。我的假設是,這也適用於後退鍵。經過一番探索後,我發現了幾個鏈接,這不僅支持我的回答,而且可能對你有用。我將很快編輯它們。 :) – Sipty 2015-02-10 16:32:14

0

此代碼對我的作品。其實,你不能禁用任務按鈕。當你按下它時,你的活動將調用onPause()方法,並且可以將此任務移到此方法的前端。查看我的回答以獲取相關問題。

@Override 
protected void onUserLeaveHint() { 
    super.onUserLeaveHint(); 
    ((ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE)).moveTaskToFront(getTaskId(), 0); 
} 

@Override 
protected void onPause() { 
    super.onPause(); 
    ((ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE)).moveTaskToFront(getTaskId(), 0); 
}