Ana bölümümden activity
, bir iç sınıfı çağırmam gerekiyor ve sınıf içindeki bir yöntemde göstermem gerekiyor AlertDialog
. Kapattıktan sonra, Tamam düğmesine basıldığında, satın almak için Google Play'e iletin.
İşler çoğu zaman mükemmel çalışıyor, ancak birkaç kullanıcı için kilitleniyor builder.show()
ve "android.view.WindowManager$BadTokenException:
kilitlenme günlüğünden pencere eklenemiyor "ifadesini görebiliyorum . Lütfen önerin.
Kodum hemen hemen şuna benzer:
public class classname1 extends Activity{
public void onCreate(Bundle savedInstanceState) {
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
super.onCreate(savedInstanceState);
setContentView(R.layout.<view>);
//call the <className1> class to execute
}
private class classNamename2 extends AsyncTask<String, Void, String>{
protected String doInBackground(String... params) {}
protected void onPostExecute(String result){
if(page.contains("error"))
{
AlertDialog.Builder builder = new AlertDialog.Builder(classname1.this);
builder.setCancelable(true);
builder.setMessage("");
builder.setInverseBackgroundForced(true);
builder.setNeutralButton("Ok",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton){
dialog.dismiss();
if(!<condition>)
{
try
{
String pl = "";
mHelper.<flow>(<class>.this, SKU, RC_REQUEST,
<listener>, pl);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
});
builder.show();
}
}
}
}
Hatayı başka bir uyarıya iletmediğim başka bir uyarıda da gördüm activity
. Bunun gibi basit:
AlertDialog.Builder builder = new AlertDialog.Builder(classname1.this);
builder.setCancelable(true);
//if successful
builder.setMessage(" ");
builder.setInverseBackgroundForced(true);
builder.setNeutralButton("Ok",new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton){
// dialog.dismiss();
}
});
builder.show();
}
//send to some other activity
. Sanırım yeni bir Aktiviteye gideceğiniz kısım hakkında yorum yaparsanız bu hata ortadan kalkacaktır. Hata, önceki iletişiminiz tamamen kapatıldığı ve yeni etkinliğiniz başladığından kaynaklanıyor gibi görünüyor. İçinde, onPostExecute()
uyarı diyaloğuna sahipsiniz ve login
Faaliyetin bağlamını veriyorsunuz . Ancak diğer aktiviteye gidersiniz, bu nedenle bağlam yanlış olur. Dolayısıyla bu hatayı alıyorsunuz! Stackoverflow.com/questions/15104677/… benzer soruya bakın .