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

          Thal And Out Agency railway station See also References External links Navigation menuOfficial Web Site of Pakistan RailwaysArchivedOfficial Web Site of Pakistan Railwayseeexpanding ite

          Posting a File and Associated Data to a RESTful WebService preferably as JSON2019 Community Moderator ElectionREST URI convention - Singular or plural name of resource while creating itUploading both data and files in one form using Ajax?How do I upload a file with metadata using a REST web service?REST API - file (ie images) processing - best practicesSpring: JSON data and file in the same requestREST API Put large dataPosting a file and JSON data to Spring rest serviceRESTful Web Service Upload/Download Large Data With JSONREST API Design sending JSON data and a file to the api in same requestPost JSONArray to REST servicePUT vs. POST in RESTParsing values from a JSON file?JavaScript/jQuery to download file via POST with JSON dataHow do I upload a file with metadata using a REST web service?How to POST JSON data with Curl from Terminal/Commandline to Test Spring REST?Separate REST JSON API server and client?what's the correct way to send a file from REST web service to client?How do I write JSON data to a file?What is “406-Not Acceptable Response” in HTTP?REST API - file (ie images) processing - best practices

          How can I change the color of pagination dots of UIPageControl?How to change UIPageControl dotsIs there a way to change page indicator dots colorCustomize dot with image of UIPageControl at index 0 of UIPageControlNo visible @interface for 'NSObject<PageControlDelegate>' declares the selector 'pageControlPageDidChange:'How to change the color of pagination dots in UIPageControl with a different color per pagepagecontrol indicator custom image instead of DefaultChanging the colour of UIPageControl dots in MonoTouchpagecontrol selectable page visibility color?Alternative way to load ViewControllers on a UIPageControlHow to set only layer.border-color for UIpage control dots in swiftHow can I develop for iPhone using a Windows development machine?How to change the name of an iOS app?UITableView - change section header coloruipagecontrol indicator(dot)issueCustom UIPageControl dots color not changingchange the interspace between UIPageControl dotsHow to change Status Bar text color in iOSHow can I change image tintColor in iOS and WatchKitUIPageControl dots with larger space in between each dotsHow to change the color of pagination dots in UIPageControl with a different color per page