Can't get bluetooth media buttons to work inside the main activity2019 Community Moderator ElectionCan't create handler inside thread that has not called Looper.prepare()Getting the Current Working Directory in JavaActivity called from serviceAndroid App development - WebView is not workingHow to pause Media Player in a different activity?Can't execute jar- file: “no main manifest attribute”Back from setup activity to main activityHow to know the status of media player in session via Main ActivityAndroid - Media session/Media buttons in a video player activity (not a service)Can't get Avrcp focus in Service to proper Media Key event receive

Averaging over columns while ignoring zero entries

What does it take to become a wilderness skills guide as a business?

Having the player face themselves after the mid-game

Is this Paypal Github SDK reference really a dangerous site?

What is the orbit and expected lifetime of Crew Dragon trunk?

Has a sovereign Communist government ever run, and conceded loss, on a fair election?

Is the differential, dp, exact or not?

What exactly is the meaning of "fine wine"?

Why is there an extra space when I type "ls" on the Desktop?

Vector-transposing function

How can I have x-axis ticks that show ticks scaled in powers of ten?

What the error in writing this equation by latex?

Is it a Cyclops number? "Nobody" knows!

Why does a car's steering wheel get lighter with increasing speed

Does the US political system, in principle, allow for a no-party system?

I am the person who abides by rules but breaks the rules . Who am I

School performs periodic password audits. Is my password compromised?

Did Amazon pay $0 in taxes last year?

Is this a crown race?

Sort array by month and year

How to educate team mate to take screenshots for bugs with out unwanted stuff

Short story about an infectious indestructible metal bar?

Can multiple states demand income tax from an LLC?

How does a sound wave propagate?



Can't get bluetooth media buttons to work inside the main activity



2019 Community Moderator ElectionCan't create handler inside thread that has not called Looper.prepare()Getting the Current Working Directory in JavaActivity called from serviceAndroid App development - WebView is not workingHow to pause Media Player in a different activity?Can't execute jar- file: “no main manifest attribute”Back from setup activity to main activityHow to know the status of media player in session via Main ActivityAndroid - Media session/Media buttons in a video player activity (not a service)Can't get Avrcp focus in Service to proper Media Key event receive










1















I know there is an implementation to get the bluetooth media buttons for android MediaPlayer however I'm using the MediaPlayer inside a service. A service I start and stop from the main activity (which also controls the GUI) by pressing the Start and Stop button.



Here it is my main activity. I will try to add only the required code for this problem since my main activity is quite big.



public class homepage extends AppCompatActivity implements OnClickListener 
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
initializeUIElements();
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
final PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WakeLock:Acquire");
wakeLock.acquire(10 * 60 * 1000 L);
Timer wakeLockTimer = new Timer();
wakeLockTimer.scheduleAtFixedRate(new TimerTask()
@Override
public void run()
if (wakeLock.isHeld())
wakeLock.release();
if (!wakeLock.isHeld())
wakeLock.acquire(10 * 60 * 1000 L);



, 0, 10 * 60 * 1000);

//Headphone button.
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
return super.onKeyDown(keyCode, event);

switch (keyCode)
case KeyEvent.KEYCODE_MEDIA_PLAY:
if (!mRunning)
buttonPlayAction();
return true;

break;
case KeyEvent.KEYCODE_MEDIA_STOP:
if (mRunning)
stopPlaying();
return true;

break;
case KeyEvent.KEYCODE_MEDIA_PAUSE:
if (mRunning)
stopPlaying();
return true;

break;
case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
if (!mRunning)
buttonPlayAction();
return true;
else
stopPlaying();
return true;


return super.onKeyDown(keyCode, event);




I'm trying to use buttonPlayAction();which is the Play button and stopPlaying(); which is the Stop button through the bluetooth media buttons. These two buttons starts and stops the MediaPlayer service so I must do it here rather than do it inside the service. The MediaPlayer is required to be inside a service so that it runs in the background but I must control the start and stop buttons from inside the main activity because I need to change the button's behaviour once they're pressed which I can't do from the service itself.



The problem is, it doesn't work. My app works from API 21 and newer so it's the newer implementation of the media buttons. I know that before API 21, the implementation was different. Everything I've looked for online leads to the old implementation. I did this myself following the official informations.



Is there something I've missed? I've also set the user permissions for internet (since this is an app for an internet radio stream), bluetooth and wake lock.










share|improve this question









New contributor




Marius is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
























    1















    I know there is an implementation to get the bluetooth media buttons for android MediaPlayer however I'm using the MediaPlayer inside a service. A service I start and stop from the main activity (which also controls the GUI) by pressing the Start and Stop button.



    Here it is my main activity. I will try to add only the required code for this problem since my main activity is quite big.



    public class homepage extends AppCompatActivity implements OnClickListener 
    @Override
    public void onCreate(Bundle savedInstanceState)
    super.onCreate(savedInstanceState);
    initializeUIElements();
    PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
    final PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WakeLock:Acquire");
    wakeLock.acquire(10 * 60 * 1000 L);
    Timer wakeLockTimer = new Timer();
    wakeLockTimer.scheduleAtFixedRate(new TimerTask()
    @Override
    public void run()
    if (wakeLock.isHeld())
    wakeLock.release();
    if (!wakeLock.isHeld())
    wakeLock.acquire(10 * 60 * 1000 L);



    , 0, 10 * 60 * 1000);

    //Headphone button.
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event)
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
    return super.onKeyDown(keyCode, event);

    switch (keyCode)
    case KeyEvent.KEYCODE_MEDIA_PLAY:
    if (!mRunning)
    buttonPlayAction();
    return true;

    break;
    case KeyEvent.KEYCODE_MEDIA_STOP:
    if (mRunning)
    stopPlaying();
    return true;

    break;
    case KeyEvent.KEYCODE_MEDIA_PAUSE:
    if (mRunning)
    stopPlaying();
    return true;

    break;
    case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
    if (!mRunning)
    buttonPlayAction();
    return true;
    else
    stopPlaying();
    return true;


    return super.onKeyDown(keyCode, event);




    I'm trying to use buttonPlayAction();which is the Play button and stopPlaying(); which is the Stop button through the bluetooth media buttons. These two buttons starts and stops the MediaPlayer service so I must do it here rather than do it inside the service. The MediaPlayer is required to be inside a service so that it runs in the background but I must control the start and stop buttons from inside the main activity because I need to change the button's behaviour once they're pressed which I can't do from the service itself.



    The problem is, it doesn't work. My app works from API 21 and newer so it's the newer implementation of the media buttons. I know that before API 21, the implementation was different. Everything I've looked for online leads to the old implementation. I did this myself following the official informations.



    Is there something I've missed? I've also set the user permissions for internet (since this is an app for an internet radio stream), bluetooth and wake lock.










    share|improve this question









    New contributor




    Marius is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      1












      1








      1








      I know there is an implementation to get the bluetooth media buttons for android MediaPlayer however I'm using the MediaPlayer inside a service. A service I start and stop from the main activity (which also controls the GUI) by pressing the Start and Stop button.



      Here it is my main activity. I will try to add only the required code for this problem since my main activity is quite big.



      public class homepage extends AppCompatActivity implements OnClickListener 
      @Override
      public void onCreate(Bundle savedInstanceState)
      super.onCreate(savedInstanceState);
      initializeUIElements();
      PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
      final PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WakeLock:Acquire");
      wakeLock.acquire(10 * 60 * 1000 L);
      Timer wakeLockTimer = new Timer();
      wakeLockTimer.scheduleAtFixedRate(new TimerTask()
      @Override
      public void run()
      if (wakeLock.isHeld())
      wakeLock.release();
      if (!wakeLock.isHeld())
      wakeLock.acquire(10 * 60 * 1000 L);



      , 0, 10 * 60 * 1000);

      //Headphone button.
      @Override
      public boolean onKeyDown(int keyCode, KeyEvent event)
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
      return super.onKeyDown(keyCode, event);

      switch (keyCode)
      case KeyEvent.KEYCODE_MEDIA_PLAY:
      if (!mRunning)
      buttonPlayAction();
      return true;

      break;
      case KeyEvent.KEYCODE_MEDIA_STOP:
      if (mRunning)
      stopPlaying();
      return true;

      break;
      case KeyEvent.KEYCODE_MEDIA_PAUSE:
      if (mRunning)
      stopPlaying();
      return true;

      break;
      case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
      if (!mRunning)
      buttonPlayAction();
      return true;
      else
      stopPlaying();
      return true;


      return super.onKeyDown(keyCode, event);




      I'm trying to use buttonPlayAction();which is the Play button and stopPlaying(); which is the Stop button through the bluetooth media buttons. These two buttons starts and stops the MediaPlayer service so I must do it here rather than do it inside the service. The MediaPlayer is required to be inside a service so that it runs in the background but I must control the start and stop buttons from inside the main activity because I need to change the button's behaviour once they're pressed which I can't do from the service itself.



      The problem is, it doesn't work. My app works from API 21 and newer so it's the newer implementation of the media buttons. I know that before API 21, the implementation was different. Everything I've looked for online leads to the old implementation. I did this myself following the official informations.



      Is there something I've missed? I've also set the user permissions for internet (since this is an app for an internet radio stream), bluetooth and wake lock.










      share|improve this question









      New contributor




      Marius is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I know there is an implementation to get the bluetooth media buttons for android MediaPlayer however I'm using the MediaPlayer inside a service. A service I start and stop from the main activity (which also controls the GUI) by pressing the Start and Stop button.



      Here it is my main activity. I will try to add only the required code for this problem since my main activity is quite big.



      public class homepage extends AppCompatActivity implements OnClickListener 
      @Override
      public void onCreate(Bundle savedInstanceState)
      super.onCreate(savedInstanceState);
      initializeUIElements();
      PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
      final PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "WakeLock:Acquire");
      wakeLock.acquire(10 * 60 * 1000 L);
      Timer wakeLockTimer = new Timer();
      wakeLockTimer.scheduleAtFixedRate(new TimerTask()
      @Override
      public void run()
      if (wakeLock.isHeld())
      wakeLock.release();
      if (!wakeLock.isHeld())
      wakeLock.acquire(10 * 60 * 1000 L);



      , 0, 10 * 60 * 1000);

      //Headphone button.
      @Override
      public boolean onKeyDown(int keyCode, KeyEvent event)
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP)
      return super.onKeyDown(keyCode, event);

      switch (keyCode)
      case KeyEvent.KEYCODE_MEDIA_PLAY:
      if (!mRunning)
      buttonPlayAction();
      return true;

      break;
      case KeyEvent.KEYCODE_MEDIA_STOP:
      if (mRunning)
      stopPlaying();
      return true;

      break;
      case KeyEvent.KEYCODE_MEDIA_PAUSE:
      if (mRunning)
      stopPlaying();
      return true;

      break;
      case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
      if (!mRunning)
      buttonPlayAction();
      return true;
      else
      stopPlaying();
      return true;


      return super.onKeyDown(keyCode, event);




      I'm trying to use buttonPlayAction();which is the Play button and stopPlaying(); which is the Stop button through the bluetooth media buttons. These two buttons starts and stops the MediaPlayer service so I must do it here rather than do it inside the service. The MediaPlayer is required to be inside a service so that it runs in the background but I must control the start and stop buttons from inside the main activity because I need to change the button's behaviour once they're pressed which I can't do from the service itself.



      The problem is, it doesn't work. My app works from API 21 and newer so it's the newer implementation of the media buttons. I know that before API 21, the implementation was different. Everything I've looked for online leads to the old implementation. I did this myself following the official informations.



      Is there something I've missed? I've also set the user permissions for internet (since this is an app for an internet radio stream), bluetooth and wake lock.







      java android bluetooth






      share|improve this question









      New contributor




      Marius is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      Marius is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited 2 days ago









      npkllr

      24814




      24814






      New contributor




      Marius is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 2 days ago









      MariusMarius

      63




      63




      New contributor




      Marius is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Marius is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Marius is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function ()
          StackExchange.using("externalEditor", function ()
          StackExchange.using("snippets", function ()
          StackExchange.snippets.init();
          );
          );
          , "code-snippets");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "1"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );






          Marius is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55026086%2fcant-get-bluetooth-media-buttons-to-work-inside-the-main-activity%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          Marius is a new contributor. Be nice, and check out our Code of Conduct.









          draft saved

          draft discarded


















          Marius is a new contributor. Be nice, and check out our Code of Conduct.












          Marius is a new contributor. Be nice, and check out our Code of Conduct.











          Marius is a new contributor. Be nice, and check out our Code of Conduct.














          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55026086%2fcant-get-bluetooth-media-buttons-to-work-inside-the-main-activity%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Identity Server 4 is not redirecting to Angular app after login2019 Community Moderator ElectionIdentity Server 4 and dockerIdentityserver implicit flow unauthorized_clientIdentityServer Hybrid Flow - Access Token is null after user successful loginIdentity Server to MVC client : Page Redirect After loginLogin with Steam OpenId(oidc-client-js)Identity Server 4+.NET Core 2.0 + IdentityIdentityServer4 post-login redirect not working in Edge browserCall to IdentityServer4 generates System.NullReferenceException: Object reference not set to an instance of an objectIdentityServer4 without HTTPS not workingHow to get Authorization code from identity server without login form

          2005 Ahvaz unrest Contents Background Causes Casualties Aftermath See also References Navigation menue"At Least 10 Are Killed by Bombs in Iran""Iran"Archived"Arab-Iranians in Iran to make April 15 'Day of Fury'"State of Mind, State of Order: Reactions to Ethnic Unrest in the Islamic Republic of Iran.10.1111/j.1754-9469.2008.00028.x"Iran hangs Arab separatists"Iran Overview from ArchivedConstitution of the Islamic Republic of Iran"Tehran puzzled by forged 'riots' letter""Iran and its minorities: Down in the second class""Iran: Handling Of Ahvaz Unrest Could End With Televised Confessions""Bombings Rock Iran Ahead of Election""Five die in Iran ethnic clashes""Iran: Need for restraint as anniversary of unrest in Khuzestan approaches"Archived"Iranian Sunni protesters killed in clashes with security forces"Archived

          Can't initialize raids on a new ASUS Prime B360M-A motherboard2019 Community Moderator ElectionSimilar to RAID config yet more like mirroring solution?Can't get motherboard serial numberWhy does the BIOS entry point start with a WBINVD instruction?UEFI performance Asus Maximus V Extreme