Android startActivityForResult, setResult, onActivityResult not called
up vote
1
down vote
favorite
I started a phone call Activity requesting for result:
Intent intentcall = new Intent();
intentcall.setAction(Intent.ACTION_CALL);
intentcall.setData(Uri.parse("tel:" + phoneNumber));
this.startActivityForResult(intentcall, REQUEST_SLIPDROP_ICON_OFF);
And then set the result in phone call listener like this:
private class MyPhoneStateListener extends PhoneStateListener{
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
setResult(Activity.RESULT_OK);
break;
Finally I want to turn off the icon in onActivityResult, but nothing happens.
switch (requestCode) {
case REQUEST_SLIPDROP_ICON_OFF:
Log.d("request icon off", "request icon off");
if (resultCode == Activity.RESULT_OK) {
changeMenuItem(R.id.fall, R.drawable.fall);
slipAndDropIconOn = false;
}
break;
Anything wrong? Please advise! thank you
android start-activity onactivityresult
add a comment |
up vote
1
down vote
favorite
I started a phone call Activity requesting for result:
Intent intentcall = new Intent();
intentcall.setAction(Intent.ACTION_CALL);
intentcall.setData(Uri.parse("tel:" + phoneNumber));
this.startActivityForResult(intentcall, REQUEST_SLIPDROP_ICON_OFF);
And then set the result in phone call listener like this:
private class MyPhoneStateListener extends PhoneStateListener{
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
setResult(Activity.RESULT_OK);
break;
Finally I want to turn off the icon in onActivityResult, but nothing happens.
switch (requestCode) {
case REQUEST_SLIPDROP_ICON_OFF:
Log.d("request icon off", "request icon off");
if (resultCode == Activity.RESULT_OK) {
changeMenuItem(R.id.fall, R.drawable.fall);
slipAndDropIconOn = false;
}
break;
Anything wrong? Please advise! thank you
android start-activity onactivityresult
add a comment |
up vote
1
down vote
favorite
up vote
1
down vote
favorite
I started a phone call Activity requesting for result:
Intent intentcall = new Intent();
intentcall.setAction(Intent.ACTION_CALL);
intentcall.setData(Uri.parse("tel:" + phoneNumber));
this.startActivityForResult(intentcall, REQUEST_SLIPDROP_ICON_OFF);
And then set the result in phone call listener like this:
private class MyPhoneStateListener extends PhoneStateListener{
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
setResult(Activity.RESULT_OK);
break;
Finally I want to turn off the icon in onActivityResult, but nothing happens.
switch (requestCode) {
case REQUEST_SLIPDROP_ICON_OFF:
Log.d("request icon off", "request icon off");
if (resultCode == Activity.RESULT_OK) {
changeMenuItem(R.id.fall, R.drawable.fall);
slipAndDropIconOn = false;
}
break;
Anything wrong? Please advise! thank you
android start-activity onactivityresult
I started a phone call Activity requesting for result:
Intent intentcall = new Intent();
intentcall.setAction(Intent.ACTION_CALL);
intentcall.setData(Uri.parse("tel:" + phoneNumber));
this.startActivityForResult(intentcall, REQUEST_SLIPDROP_ICON_OFF);
And then set the result in phone call listener like this:
private class MyPhoneStateListener extends PhoneStateListener{
public void onCallStateChanged(int state, String incomingNumber) {
super.onCallStateChanged(state, incomingNumber);
switch (state) {
case TelephonyManager.CALL_STATE_IDLE:
setResult(Activity.RESULT_OK);
break;
Finally I want to turn off the icon in onActivityResult, but nothing happens.
switch (requestCode) {
case REQUEST_SLIPDROP_ICON_OFF:
Log.d("request icon off", "request icon off");
if (resultCode == Activity.RESULT_OK) {
changeMenuItem(R.id.fall, R.drawable.fall);
slipAndDropIconOn = false;
}
break;
Anything wrong? Please advise! thank you
android start-activity onactivityresult
android start-activity onactivityresult
asked Dec 13 '13 at 14:39
ksu
5291716
5291716
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
4
down vote
accepted
I don't think this action returns a result so calling startActivityForResult
is no different to calling startActivity
Note here: output = None.
http://developer.android.com/reference/android/content/Intent.html#ACTION_CALL
1
I use ACTION_CALL as the intent. Even this intent does not return any result, but I set the result explicitly since I was listen to the phone state with the following code: case TelephonyManager.CALL_STATE_IDLE: setResult(Activity.RESULT_OK);
– ksu
Dec 13 '13 at 14:57
ACTION_CALL also has no return value. You are setting the result in your listener not in the dialer activity. It is the activity that would need the result setting. You do not have access to that. According to the docs, PhoneStateListener has no setResult method. developer.android.com/reference/android/telephony/…
– Kuffs
Dec 13 '13 at 15:02
I see. I think I get it. Everytime I call setResult() it will trigger the onActivityResult() call back. But my code to turn the icon off won't get executed because the condition case REQUEST_SLIPDROP_ICON_OFF: is not met. Why? I started the activity with this requestCode already. BTW, PhoneStateListener is a inner class of the activity. Any other way to achieve the result I want?
– ksu
Dec 13 '13 at 15:44
No it appears you don't get it. There is no callback. This intent does not return a result. onActivityResult will NEVER be called because the Activity that contains the dialer never sets a result as I already stated in my previous comments. It is the dialer that would need to setResult for this to work.
– Kuffs
Dec 13 '13 at 15:46
So basically I don't have access to the dialer code, I won't be able to setResult for that activity? Even though I setResult on phoneListener, it's not what I want because I originally started the dialer activity.
– ksu
Dec 13 '13 at 15:56
|
show 7 more comments
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',
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
});
}
});
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%2f20569089%2fandroid-startactivityforresult-setresult-onactivityresult-not-called%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
4
down vote
accepted
I don't think this action returns a result so calling startActivityForResult
is no different to calling startActivity
Note here: output = None.
http://developer.android.com/reference/android/content/Intent.html#ACTION_CALL
1
I use ACTION_CALL as the intent. Even this intent does not return any result, but I set the result explicitly since I was listen to the phone state with the following code: case TelephonyManager.CALL_STATE_IDLE: setResult(Activity.RESULT_OK);
– ksu
Dec 13 '13 at 14:57
ACTION_CALL also has no return value. You are setting the result in your listener not in the dialer activity. It is the activity that would need the result setting. You do not have access to that. According to the docs, PhoneStateListener has no setResult method. developer.android.com/reference/android/telephony/…
– Kuffs
Dec 13 '13 at 15:02
I see. I think I get it. Everytime I call setResult() it will trigger the onActivityResult() call back. But my code to turn the icon off won't get executed because the condition case REQUEST_SLIPDROP_ICON_OFF: is not met. Why? I started the activity with this requestCode already. BTW, PhoneStateListener is a inner class of the activity. Any other way to achieve the result I want?
– ksu
Dec 13 '13 at 15:44
No it appears you don't get it. There is no callback. This intent does not return a result. onActivityResult will NEVER be called because the Activity that contains the dialer never sets a result as I already stated in my previous comments. It is the dialer that would need to setResult for this to work.
– Kuffs
Dec 13 '13 at 15:46
So basically I don't have access to the dialer code, I won't be able to setResult for that activity? Even though I setResult on phoneListener, it's not what I want because I originally started the dialer activity.
– ksu
Dec 13 '13 at 15:56
|
show 7 more comments
up vote
4
down vote
accepted
I don't think this action returns a result so calling startActivityForResult
is no different to calling startActivity
Note here: output = None.
http://developer.android.com/reference/android/content/Intent.html#ACTION_CALL
1
I use ACTION_CALL as the intent. Even this intent does not return any result, but I set the result explicitly since I was listen to the phone state with the following code: case TelephonyManager.CALL_STATE_IDLE: setResult(Activity.RESULT_OK);
– ksu
Dec 13 '13 at 14:57
ACTION_CALL also has no return value. You are setting the result in your listener not in the dialer activity. It is the activity that would need the result setting. You do not have access to that. According to the docs, PhoneStateListener has no setResult method. developer.android.com/reference/android/telephony/…
– Kuffs
Dec 13 '13 at 15:02
I see. I think I get it. Everytime I call setResult() it will trigger the onActivityResult() call back. But my code to turn the icon off won't get executed because the condition case REQUEST_SLIPDROP_ICON_OFF: is not met. Why? I started the activity with this requestCode already. BTW, PhoneStateListener is a inner class of the activity. Any other way to achieve the result I want?
– ksu
Dec 13 '13 at 15:44
No it appears you don't get it. There is no callback. This intent does not return a result. onActivityResult will NEVER be called because the Activity that contains the dialer never sets a result as I already stated in my previous comments. It is the dialer that would need to setResult for this to work.
– Kuffs
Dec 13 '13 at 15:46
So basically I don't have access to the dialer code, I won't be able to setResult for that activity? Even though I setResult on phoneListener, it's not what I want because I originally started the dialer activity.
– ksu
Dec 13 '13 at 15:56
|
show 7 more comments
up vote
4
down vote
accepted
up vote
4
down vote
accepted
I don't think this action returns a result so calling startActivityForResult
is no different to calling startActivity
Note here: output = None.
http://developer.android.com/reference/android/content/Intent.html#ACTION_CALL
I don't think this action returns a result so calling startActivityForResult
is no different to calling startActivity
Note here: output = None.
http://developer.android.com/reference/android/content/Intent.html#ACTION_CALL
edited Dec 13 '13 at 15:03
answered Dec 13 '13 at 14:45
Kuffs
30.6k106486
30.6k106486
1
I use ACTION_CALL as the intent. Even this intent does not return any result, but I set the result explicitly since I was listen to the phone state with the following code: case TelephonyManager.CALL_STATE_IDLE: setResult(Activity.RESULT_OK);
– ksu
Dec 13 '13 at 14:57
ACTION_CALL also has no return value. You are setting the result in your listener not in the dialer activity. It is the activity that would need the result setting. You do not have access to that. According to the docs, PhoneStateListener has no setResult method. developer.android.com/reference/android/telephony/…
– Kuffs
Dec 13 '13 at 15:02
I see. I think I get it. Everytime I call setResult() it will trigger the onActivityResult() call back. But my code to turn the icon off won't get executed because the condition case REQUEST_SLIPDROP_ICON_OFF: is not met. Why? I started the activity with this requestCode already. BTW, PhoneStateListener is a inner class of the activity. Any other way to achieve the result I want?
– ksu
Dec 13 '13 at 15:44
No it appears you don't get it. There is no callback. This intent does not return a result. onActivityResult will NEVER be called because the Activity that contains the dialer never sets a result as I already stated in my previous comments. It is the dialer that would need to setResult for this to work.
– Kuffs
Dec 13 '13 at 15:46
So basically I don't have access to the dialer code, I won't be able to setResult for that activity? Even though I setResult on phoneListener, it's not what I want because I originally started the dialer activity.
– ksu
Dec 13 '13 at 15:56
|
show 7 more comments
1
I use ACTION_CALL as the intent. Even this intent does not return any result, but I set the result explicitly since I was listen to the phone state with the following code: case TelephonyManager.CALL_STATE_IDLE: setResult(Activity.RESULT_OK);
– ksu
Dec 13 '13 at 14:57
ACTION_CALL also has no return value. You are setting the result in your listener not in the dialer activity. It is the activity that would need the result setting. You do not have access to that. According to the docs, PhoneStateListener has no setResult method. developer.android.com/reference/android/telephony/…
– Kuffs
Dec 13 '13 at 15:02
I see. I think I get it. Everytime I call setResult() it will trigger the onActivityResult() call back. But my code to turn the icon off won't get executed because the condition case REQUEST_SLIPDROP_ICON_OFF: is not met. Why? I started the activity with this requestCode already. BTW, PhoneStateListener is a inner class of the activity. Any other way to achieve the result I want?
– ksu
Dec 13 '13 at 15:44
No it appears you don't get it. There is no callback. This intent does not return a result. onActivityResult will NEVER be called because the Activity that contains the dialer never sets a result as I already stated in my previous comments. It is the dialer that would need to setResult for this to work.
– Kuffs
Dec 13 '13 at 15:46
So basically I don't have access to the dialer code, I won't be able to setResult for that activity? Even though I setResult on phoneListener, it's not what I want because I originally started the dialer activity.
– ksu
Dec 13 '13 at 15:56
1
1
I use ACTION_CALL as the intent. Even this intent does not return any result, but I set the result explicitly since I was listen to the phone state with the following code: case TelephonyManager.CALL_STATE_IDLE: setResult(Activity.RESULT_OK);
– ksu
Dec 13 '13 at 14:57
I use ACTION_CALL as the intent. Even this intent does not return any result, but I set the result explicitly since I was listen to the phone state with the following code: case TelephonyManager.CALL_STATE_IDLE: setResult(Activity.RESULT_OK);
– ksu
Dec 13 '13 at 14:57
ACTION_CALL also has no return value. You are setting the result in your listener not in the dialer activity. It is the activity that would need the result setting. You do not have access to that. According to the docs, PhoneStateListener has no setResult method. developer.android.com/reference/android/telephony/…
– Kuffs
Dec 13 '13 at 15:02
ACTION_CALL also has no return value. You are setting the result in your listener not in the dialer activity. It is the activity that would need the result setting. You do not have access to that. According to the docs, PhoneStateListener has no setResult method. developer.android.com/reference/android/telephony/…
– Kuffs
Dec 13 '13 at 15:02
I see. I think I get it. Everytime I call setResult() it will trigger the onActivityResult() call back. But my code to turn the icon off won't get executed because the condition case REQUEST_SLIPDROP_ICON_OFF: is not met. Why? I started the activity with this requestCode already. BTW, PhoneStateListener is a inner class of the activity. Any other way to achieve the result I want?
– ksu
Dec 13 '13 at 15:44
I see. I think I get it. Everytime I call setResult() it will trigger the onActivityResult() call back. But my code to turn the icon off won't get executed because the condition case REQUEST_SLIPDROP_ICON_OFF: is not met. Why? I started the activity with this requestCode already. BTW, PhoneStateListener is a inner class of the activity. Any other way to achieve the result I want?
– ksu
Dec 13 '13 at 15:44
No it appears you don't get it. There is no callback. This intent does not return a result. onActivityResult will NEVER be called because the Activity that contains the dialer never sets a result as I already stated in my previous comments. It is the dialer that would need to setResult for this to work.
– Kuffs
Dec 13 '13 at 15:46
No it appears you don't get it. There is no callback. This intent does not return a result. onActivityResult will NEVER be called because the Activity that contains the dialer never sets a result as I already stated in my previous comments. It is the dialer that would need to setResult for this to work.
– Kuffs
Dec 13 '13 at 15:46
So basically I don't have access to the dialer code, I won't be able to setResult for that activity? Even though I setResult on phoneListener, it's not what I want because I originally started the dialer activity.
– ksu
Dec 13 '13 at 15:56
So basically I don't have access to the dialer code, I won't be able to setResult for that activity? Even though I setResult on phoneListener, it's not what I want because I originally started the dialer activity.
– ksu
Dec 13 '13 at 15:56
|
show 7 more comments
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.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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%2f20569089%2fandroid-startactivityforresult-setresult-onactivityresult-not-called%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