比方說,我想在我的應用中使用縮放圖像查看 是否可以在支持多點觸控(API 7+)的手機上添加多點觸控事件監聽器,而在舊手機上顯示縮放按鈕?在支持的設備上的Android多點觸摸
這可以在單個版本的應用程序中完成,還是需要多個應用程序版本和多個APK?
比方說,我想在我的應用中使用縮放圖像查看 是否可以在支持多點觸控(API 7+)的手機上添加多點觸控事件監聽器,而在舊手機上顯示縮放按鈕?在支持的設備上的Android多點觸摸
這可以在單個版本的應用程序中完成,還是需要多個應用程序版本和多個APK?
你不會在這種情況下,需要多個APK。
您可以在代碼檢查多點觸控的可用性:
if (Integer.parseInt(Build.VERSION.SDK) >= 7) {
PackageManager pm = context.getPackageManager();
boolean hasMultitouch =
pm.hasSystemFeature(PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH);
if (hasMultitouch) {
// set multitouch event listeners
} else {
// set zoom buttons
}
} else {
// set zoom buttons
}
你可以從你的活動(服務)PackageManager
沒有使用context
:PackageManager pm = getPackageManager();
有三種類型的多點觸控的,你可以檢查。
Upd:您必須在多點觸控可用性檢查之前檢查API版本。 FEATURE_TOUCHSCREEN_MULTITOUCH
僅適用於API 7.我更新了代碼示例。
您可以在應用程序啓動時查看您的api級別,並在此信息上設置正確的偵聽器和按鈕。
可能this site是有用的
您例如:
if(Integer.parseInt(Build.VERSION.SDK) >= 7)
{
//add multi touch listeners
}
else
{
// add zoom buttons
}
我認爲,只是檢查API級別是不夠的。有API 7+的設備,但沒有多點觸控。 –
是的,但你必須使用反射 – ingsaurabh