[APP][8.0+] Skip track by Volume keys

Search This thread

punkrockfan

Senior Member
Aug 23, 2012
298
20
gives me an error after installing the app in adb:

C:\>adb shell pm grant com.cilenco.skiptrack android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTE NER
Bad argument: java.lang.IllegalArgumentException: Unknown permission: android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTE
usage: pm path [--user USER_ID] PACKAGE
pm dump PACKAGE
pm install [-lrtsfd] [-i PACKAGE] [--user USER_ID] [PATH]
pm install-create [-lrtsfdp] [-i PACKAGE] [-S BYTES]
[--install-location 0/1/2]
[--force-uuid internal|UUID]
pm install-write [-S BYTES] SESSION_ID SPLIT_NAME [PATH]
pm install-commit SESSION_ID
pm install-abandon SESSION_ID
pm uninstall [-k] [--user USER_ID] [--versionCode VERSION_CODE] PACKAGE
pm set-installer PACKAGE INSTALLER
pm move-package PACKAGE [internal|UUID]
pm move-primary-storage [internal|UUID]
pm clear [--user USER_ID] PACKAGE
pm enable [--user USER_ID] PACKAGE_OR_COMPONENT
pm disable [--user USER_ID] PACKAGE_OR_COMPONENT
pm disable-user [--user USER_ID] PACKAGE_OR_COMPONENT
pm disable-until-used [--user USER_ID] PACKAGE_OR_COMPONENT
pm default-state [--user USER_ID] PACKAGE_OR_COMPONENT
pm set-user-restriction [--user USER_ID] RESTRICTION VALUE
pm hide [--user USER_ID] PACKAGE_OR_COMPONENT
pm unhide [--user USER_ID] PACKAGE_OR_COMPONENT
pm grant [--user USER_ID] PACKAGE PERMISSION
pm revoke [--user USER_ID] PACKAGE PERMISSION
pm reset-permissions
pm set-app-link [--user USER_ID] PACKAGE {always|ask|never|undefined}
pm get-app-link [--user USER_ID] PACKAGE
pm set-install-location [0/auto] [1/internal] [2/external]
pm get-install-location
pm set-permission-enforced PERMISSION [true|false]
pm trim-caches DESIRED_FREE_SPACE [internal|UUID]
pm create-user [--profileOf USER_ID] [--managed] [--restricted] [--ephemeral] [--guest] USER_NAME
pm remove-user USER_ID
pm get-max-users

NOTE: 'pm list' commands have moved! Run 'adb shell cmd package'
to display the new commands.

pm path: print the path to the .apk of the given PACKAGE.

pm dump: print system state associated with the given PACKAGE.

pm install: install a single legacy package
pm install-create: create an install session
-l: forward lock application
-r: replace existing application
-t: allow test packages
-i: specify the installer package name
-s: install application on sdcard
-f: install application on internal flash
-d: allow version code downgrade (debuggable packages only)
-p: partial application install
-g: grant all runtime permissions
-S: size in bytes of entire session

pm install-write: write a package into existing session; path may
be '-' to read from stdin
-S: size in bytes of package, required for stdin

pm install-commit: perform install of fully staged session
pm install-abandon: abandon session

pm set-installer: set installer package name

pm uninstall: removes a package from the system. Options:
-k: keep the data and cache directories around after package removal.

pm clear: deletes all data associated with a package.

pm enable, disable, disable-user, disable-until-used, default-state:
these commands change the enabled state of a given package or
component (written as "package/class").

pm grant, revoke: these commands either grant or revoke permissions
to apps. The permissions must be declared as used in the app's
manifest, be runtime permissions (protection level dangerous),
and the app targeting SDK greater than Lollipop MR1.

pm reset-permissions: revert all runtime permissions to their default state.

pm get-install-location: returns the current install location.
0 [auto]: Let system decide the best location
1 [internal]: Install on internal device storage
2 [external]: Install on external media

pm set-install-location: changes the default install location.
NOTE: this is only intended for debugging; using this can cause
applications to break and other undersireable behavior.
0 [auto]: Let system decide the best location
1 [internal]: Install on internal device storage
2 [external]: Install on external media

pm trim-caches: trim cache files to reach the given free space.

pm create-user: create a new user with the given USER_NAME,
printing the new user identifier of the user.

pm remove-user: remove the user with the given USER_IDENTIFIER,
deleting all data associated with that user
 

Cilenco

Senior Member
Jan 2, 2013
89
78
gives me an error after installing the app in adb:

C:\>adb shell pm grant com.cilenco.skiptrack android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTE NER
Bad argument: java.lang.IllegalArgumentException: Unknown permission: android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTE
...

Look at the first two lines of your error message! You have a typo. Just remove space in LISTE NER
 
  • Like
Reactions: Gladiator00

moin1402

Member
Nov 20, 2015
7
0
operation not allowed: java.lang.SecurityException: grantRuntimePermission: Neither user 2000 nor current process has android.permission.GRANT_RUNTIME_PERMISSIONS.
 

mike freegan

Senior Member
May 12, 2005
803
75
Doesn't work with unrooted OnePlus 6t

Installed the app, ran the ADB command but long pressing buttons doesn't do anything.
 

GasLoop

Senior Member
Jun 15, 2014
172
41
On rooted Sony Xperia X Compact it doesn't work with Shuttle+, with the stock app it works but also increases the volume which is really annoying...
 

wruyter80

Senior Member
Nov 26, 2017
58
14
Works for me on my Note 9 for Google Play Music but doesn't seem to work for YouTube Music?
 

Top Liked Posts

  • There are no posts matching your filters.
  • 58
    ic_launcher.png


    A systemless and standalone application which let's you skip tracks on your Android 8.0+ device by long pressing the volume keys.
    Working on every 8.0+ ROM, including stock AOSP without root. Tested on 8, 9 and Q Beta!​

    Installation
    Download the newest release from the link below and install it on your device as usual.
    Connect your device to a computer and enable developer settings and fire up

    adb shell pm grant com.cilenco.skiptrack android.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER

    On startup the app will check if has the permission. If you don't see any message the process worked and you are ready to go.
    If the app is installed as system application by flashing it through a recovery this step is not needed as the permission is granted automatically.

    Contribution
    Please feel free to send me issues and pull requests for improvements, stability and new feature ideas.
    If you want to help translate the app you can do so here.

    Review (thanks to @pankspoo)
    https://www.youtube.com/watch?v=4lfh5SGhkiU&feature=youtu.be

    Support me


    Download
    Sourcecode
    Apk (1.0.0)
    3
    can you add a vibration to the long press
    2
    On my OnePlus 6, it seems to work on some apps, but not others. It works for VLC, but not PowerAmp (though Max has since updated PowerAmp to use the permission itself.

    One that is perplexing is Droidsound-E.

    https://github.com/droidmjt/Droidsound

    It doesn't seem to work at all. It there anything I can do, or is it a situational thing?

    I'm using a Huawei P20 Pro and while it seems to work properly for Spotify (I've had to toggle a few settings like power management and whatnot, although it's still a bit touch and go right now, still testing it...) this is the only app it doesn't work with. Not sure what it is :/

    Anyways, thank you a thousand times over for making this. I've longed to have this feature from my days of using custom ROMs and having this again on a stock rom is absolutely phenomenal. A vibration would be a very nice addition to have though, but since you've open sourced it something like that shouldn't be hard to add in.

    Edit: Got the code building after about half an hour of fighting with Gradle because they seem to do integrity checks on the andriod JARs now, but I did successfully add vibration. I'm really liking that the source is available for this. Thank you again @Cilenco!

    Edit 2: After some more code changes, it now works on Droidsound-E and should probably also work on other apps that it didn't work on previously. I'll look into seeing on getting these changes merged. I may also try adding in a notification about battery management being disabled to make sure it's not killed, but otherwise it's pretty much a perfect replacement now.

    Edit 3: Okay so I was doing some testing, and I don't think Android's battery management is causing any discernible problems. HOWEVER, I did discover that Huawei's EMUI is causing problems, specifically its aggressive power management and its liking to kill pretty much anything. I noticed a couple people here that had devices running EMUI that are having issues so I'll mention both of you individually.
    @lukesky and @Jan Philipp Can both of you reinstall the latest version of the app that is uploaded and follow all the installation steps, but then do one more additional step? Head into Settings -> Battery -> App launch, and turn off the toggle for this app so that it's managed manually entirely (The popup that shows up when you turn off the toggle should have all three toggles there ON). Then give the app another try. It should fix the issues for you because after turning that off, I haven't had any problems whatsoever with my P20 Pro on EMUI 9.0.
    2
    I confirm it works now! Xperia XZ1 on Android 9 stock. Working like a charm. This is the only real standalone solution for skipping tracks with volume buttoms while screen is off on android 8-9. Great work dev ???
    2
    Samsung Galaxy S10+, app starts nor error, adb command all good too, but the skip function doesn't work.