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和棒棒糖上运行。让我知道 –