我有一個代碼,會提示用戶通過選擇所需的應用程序來發送消息,我如何檢測用戶是否實際上已經從選項中選擇或者按下了回來?如何檢測用戶是否從createChooser選項中選擇?
我試圖檢查意圖是否返回了某些內容,但運行異步,因此無法跟蹤。
此外,我試圖運行與startActivityForResult
意圖,我注意到onActivityResult resultCode總是0(RESULT_CANCELED
),即使用戶選擇,或不從選擇器。
我有一個代碼,會提示用戶通過選擇所需的應用程序來發送消息,我如何檢測用戶是否實際上已經從選項中選擇或者按下了回來?如何檢測用戶是否從createChooser選項中選擇?
我試圖檢查意圖是否返回了某些內容,但運行異步,因此無法跟蹤。
此外,我試圖運行與startActivityForResult
意圖,我注意到onActivityResult resultCode總是0(RESULT_CANCELED
),即使用戶選擇,或不從選擇器。
從Android的來源,你可以看到Intent中選擇的Activity並不是setResult()。這應該被要求作爲一個功能。
您現在可以使用帶有第3個參數:pendingintent.getintentsender()的新的createChooser()。
例如:
String aText = e.getText().toString();
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, aText);
sendIntent.setType("text/plain");
sendIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
sendIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
//
Intent receiver = new Intent(this, BroadcastTest.class);
receiver.putExtra("test", "test");
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, receiver, PendingIntent.FLAG_UPDATE_CURRENT);
Intent intent = Intent.createChooser(sendIntent, "Send email with:", pendingIntent.getIntentSender());
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
反正是有知道他們已經選擇哪些應用? – MinceMan 2013-05-31 13:11:15