1
此代碼在lollypop版本上正常工作,但是,當我在Kitkat上使用它時,當我從對話框中選擇「是/否」選項時,它始終返回0。startActivityForResult在恢復短信時總是返回0
btnSMSRestore.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (currentapiVersion >= android.os.Build.VERSION_CODES.KITKAT){
defaultSmsApp = Telephony.Sms.getDefaultSmsPackage(SMSActivity.this);
if (!getPackageName().equals(defaultSmsApp))
{
Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT);
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME, getPackageName());
//startActivity(intent);
startActivityForResult(intent, DEF_SMS_REQ);
}
}
else
{
new RestoreSMS().execute();
}
});
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
switch (requestCode)
{
case DEF_SMS_REQ:
if(resultCode == Activity.RESULT_OK)
{
new RestoreSMS().execute();
}
}
}
Activity.RESULT_OK值是-1和發送resultCode在onActivityResult始終爲0時與奇巧使用。
我沒有得到你 – SANAT
我的應用程序將改變爲默認的短信應用,但結果代碼不匹配toActivity.RESULT_OK所以,我的動作不應用 – SANAT
執行請看更新的答案。我已經測試過,代碼可以在KitKat和棒棒糖上運行。讓我知道 –