0

こんにちは、ブラウザの履歴(組み込みまたはデフォルト)を削除できるAndroidアプリを開発しようとしています。これまでのところ、履歴を適切に削除できましたが、モバイルブラウザに多くの履歴があると、Force To Closeアラートボックスが表示され、 UIスレッドですべてのことを行っていることはわかっているので、AsyncTaskの記事を読みましたが、履歴を削除するコードをどこに置くべきかを正しく理解できません。助けてください、よろしくお願いします。

ここに私のMainActivityがあります

public class MainActivity extends Activity {

Button btn;
/** Called when the activity is first created. */

@Override
public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    btn = (Button) findViewById(R.id.button1);
    btn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            startActivity(new Intent(MainActivity.this,SecondClass.class));
        }
    });
}
}

これが私のSecondClassコードです

public class SecondClass extends Activity {
ProgressDialog pd;
ProgressDialog progressDialog;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_second_class);

    new AsyncTask<Void, Void, Void>()
    {
        @Override
        protected void onPreExecute() {
            pd = ProgressDialog.show(this, "Loading..", "Please Wait", true,false);
        }

        @Override
        protected Void doInBackground(Void... params) {
            Browser.clearHistory(getContentResolver());
            return null;
        }

        @Override
        protected void onPostExecute(Void result) {
            pd.dismiss();
        }
    }.execute((Void[])null);
}
}

助けてください、よろしくお願いします

これが私のLogCatです

W/ActivityManager(   61):   Force finishing activity com.example.handlerlearn/.SecondClass

W/InputManagerService(   61): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@40720228

E/WindowManager( 2089): Activity com.example.handlerlearn.SecondClass has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@40525230 that was originally added here

E/WindowManager( 2089): android.view.WindowLeaked: Activity com.example.handlerlearn.SecondClass has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@40525230 that was originally added here

E/WindowManager( 2089):     at android.view.ViewRoot.<init>(ViewRoot.java:258)

E/WindowManager( 2089):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:148)

E/WindowManager( 2089):     at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)

E/WindowManager( 2089):     at android.view.Window$LocalWindowManager.addView(Window.java:424)
4

1 に答える 1