0

この問題に関するすべての投稿を AlertDialog で確認しましたが、役に立ちませんでした。誰かがここで何かおかしなことを見ることができますか? DialogFragment を試しましたが、PhoneStateListener からこれを行っており、他に何も拡張できません。null トークンを持っていないので、getBaseContext は機能しています。私は信じている。

    private void lookupCallerId(int cstate)
{
    if(prefs.getIsDeactivated())
        return;     

    if(lookupInProgress)
    {
        return;
    }

    //add popup box here for lookup question?

    PMLog.v(LOGTAG, "lookupCallerId() Start pop up box.");                  
    Context context = service.getBaseContext();                 
    if(cstate == TelephonyManager.CALL_STATE_RINGING) {

     AlertDialog.Builder builder = new AlertDialog.Builder(context);
     PMLog.v(LOGTAG, "lookupCallerId() ALERT BUILDER.");

     builder.setTitle("Lookup this #?");
     builder.setCancelable(true);
     builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {

         public void onClick(DialogInterface dialog, int which) {
             String strPhoneNumber = PhoneNumberProcessor.formattedPhoneNumber(prefs.getLastCallerNumber(), service); {
                 if(strPhoneNumber.length() == 0)                    
                        return;
             }

             PMLog.v(LOGTAG, "lookupCallerId() Starting CNM lookup thread");
             Thread thread = new Thread(null, doBackgroundThreadProcessing, "LookupBackgroundThread");
             thread.start();
             }
         }
     );
     builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
         public void onClick(DialogInterface dialog, int which) {
            onNo();
             return;
         }
     });
     builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
         public void onCancel(DialogInterface dialog) {
             onNo();
             return;
         }
     });        
        builder.create().show();        
    }       
}
4

1 に答える 1