Saturday, 14 September 2019

Android apps compatibility

In order to make InputStickUtility compatible with Android 10, it was necessary to make some changes that make it no longer compatible with some apps using older versions of InputStick API  when running on Android 8 or higher (USB Remote and KP2A plugin are NOT affected by this issue).

Android 10 (and some Android 9 devices):

  • you must update InputStickUtility to v2.00 (older versions will not work correctly)
  • if an app crashes on connection attempt, ask its developer to rebuild the app using the latest available InputStick API (more info below)

Android 8 - Android 9:

  • you should update InputStickUtility to v2.00
  • if an app crashes on connection attempt, ask its developer to rebuild the app using the latest available InputStick API (more info below)
  • if that is not possible, download InputStickUtility v1.60 (link below)

Android 4.4 - Android 7.1:

  • you should update InputStickUtility to v2.00
  • all apps should work normally (even older ones)

Android 2.3 - Android 4.3:

  • your device is not supported by InputStickUtility v2.00, download InputStickUtility v1.60 (link below)
  • all apps should work normally (even older ones)

Download URLs:

InputStickUtility v2.00 (Google Play Store)
InputStickUtility v2.00 (.apk)
InputStickUtility v1.60 (.apk, signed with debug certificate, will not get updated via Google Play)


More details:

  • USB Remote and KP2A InputStick plugin use latest InputStick API and are 100% compatible with InputStickUtility v2.00
  • apps that use InputStickUtility as proxy  using IPC connection method (most popular one) must use latest InputStick API in order to work with InputStickUtility v2.00
  • apps that use InputStickUtility as proxy using broadcasts are not affected
  • apps that connect directly to InputStick are not affected

App developers:

If your app uses IPC connection method, make sure that it was built using latest InputStick API:

or find: IPCConnectionManager.java file and replace line:

mCtx.startService(intent);

with:

if (Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
mCtx.startService(intent);
} else {
mCtx.startForegroundService(intent);
}

Your app uses IPC connection if following method is used (from InputStickHID class):
connect(Application app)



2 comments: