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
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
New contributor
add a comment |
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
New contributor
add a comment |
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
New contributor
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
java android bluetooth
New contributor
New contributor
edited 2 days ago
npkllr
24814
24814
New contributor
asked 2 days ago
MariusMarius
63
63
New contributor
New contributor
add a comment |
add a comment |
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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.
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.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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