2015-11-18 83 views
1

我正在开发一个消息应用程序。我的应用程序可以是默认的或不是。我可以通过以下应用程序使我的应用程序默认。如何在Android中设置onclick in alertdialog

Intent intent = new Intent(Telephony.Sms.Intents.ACTION_CHANGE_DEFAULT); 
intent.putExtra(Telephony.Sms.Intents.EXTRA_PACKAGE_NAME,myPackageName); 
startActivity(intent); 

当执行此代码时,我的应用程序中会出现以下提示对话框。提示对话框是内置的。我不写它的代码。对于上面的代码,警报对话存在。
enter image description here

当我点击是按钮时,我需要调用enable_view()函数。当我点击NO按钮时,我需要调用disable_view()函数。我怎样才能做到这一点 ?

+2

请检查这个答案http://stackoverflow.com/a/27010644/2365507 – Aditya

回答

1

您必须实现onActivityResult方法从SMS默认意图导致..这样的例子

@Override 
protected void onActivityResult(int reqcode, int rescode, Intent arg2) { 
    // TODO Auto-generated method stub 
    super.onActivityResult(reqcode, rescode, arg2); 
    switch (reqcode) { 
     case IS_APP_DEFAULT_ID: 
      if (rescode == Activity.RESULT_OK) { 
       //call enable view here 
      } else { 
        //call disabel view here 
      } 
    } 

} 

而且你必须使用的,而不是startActivity startActivityForResult ..

0

按我understading你需要带有yes和no选项的警报箱以及其中的自定义操作。

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); 
     alertDialogBuilder.setMessage("Use super duper message app instead of default messaging app"); 

     alertDialogBuilder.setPositiveButton("yes", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface arg0, int arg1) { 
      //positive button action goes here 
     } 
     }); 

     alertDialogBuilder.setNegativeButton("No",new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      //negative button action goes here 
     } 
     }); 

     AlertDialog alertDialog = alertDialogBuilder.create(); 
     alertDialog.show(); 
    } 

干杯!

相关问题