我正在嘗試使用撥號器意圖獲取結果startActivityForResult()下面是我的撥號器意圖代碼。 button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_DIAL); intent.setData(Uri.parse("tel:123456789")); startActivityForResult(intent, 1234); } }); @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == 1234){ if (resultCode == Activity.RESULT_OK){ Toast.makeText(getApplicationContext(), "result ok", Toast.LENGTH_LONG).show(); }else if (resultCode == Activity.RESULT_CANCELED){ Toast.makeText(getApplicationContext(), "Result Cancelled", Toast.LENGTH_LONG).show(); } } }每當我返回活動時,就會觸發結果取消 Toast。
2 回答
至尊寶的傳說
TA貢獻1789條經驗 獲得超10個贊
來自文檔:
ACTION_DIAL
public?static?final?String?ACTION_DIAL
你只有ACTION.?如果您想從應用程序中撥打電話號碼,那么您只需將這些代碼行放入該onClick()方法中即可獲得您想要的內容:
Intent?intent?=?new?Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:123456789"));
startActivity(intent);?//?no?need?to?use?startActivityResult(intent,1234)這里,如果ACTION_DIAL輸入什么都沒有,則啟動一個空的撥號器;elsegetData()是要撥打的電話號碼的 URI 或tel: <yourURI>顯式電話號碼的 URI。此外,沒有RESULT_OK或的“輸出”?RESULT_CANCELED,因為,startActivityResult()沒有任何意義,ACTION_DIAL但startActivity(intent)。希望能幫助到你。
智慧大石
TA貢獻1946條經驗 獲得超3個贊
為什么我得到的是 RESULT_CANCELED 而不是 RESULT_OK。
ACTION_DIAL不返回結果。如果您閱讀的文檔ACTION_DIAL,您將看到“輸出:無”。因此,您通常會得到RESULT_CANCELED.?只有設計用于使用的活動startActivityForResult()才會返回結果代碼。
添加回答
舉報
0/150
提交
取消
