清除缓存和数据后Android重启应用程序

时间:2017-05-16 05:48:37

标签: android android-activity restart

我有一个应用程序,需要数据清理再次更好地工作。 我正在使用此清除数据,

((ActivityManager)MainActivity.this.getSystemService(ACTIVITY_SERVICE)).clearApplicationUserData();

但无法重启应用。我在清理数据后尝试添加意图。但由于应用程序在清除数据后关闭。我认为代码无法访问。

((ActivityManager)MainActivity.this.getSystemService(ACTIVITY_SERVICE)).clearApplicationUserData();
Toast.makeText(MainActivity.this,"Reloading...",Toast.LENGTH_SHORT).show();
startActivity(new Intent(MainActivity.this,MainActivity.class));
finish();

3 个答案:

答案 0 :(得分:1)

调用clearApplication数据后,应用程序被终止。这就是为什么不调用MainActivity。

答案 1 :(得分:1)

创建新的ApplicationClass,如下所示

<?php echo $this->getLayout()->createBlock('core/template')->setTemplate('catalogsearch/form.mini.phtml')->tohtml(); ?>

将应用程序类添加到清单

的Application标记
  

机器人:名称= “ApplicationClass”

public class ApplicationClass extends Application {

private static ApplicationClass instance;

@Override
public void onCreate() {
    super.onCreate();
    instance = this;
}

public static ApplicationClass getInstance() {
    return instance;
}
}

并使用此代码清算数据

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:name=".ApplicationClass"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

答案 2 :(得分:0)

对于清除缓存,请尝试参考link

  

尝试使用以下代码重启应用

Intent i = getBaseContext().getPackageManager()
         .getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
  

注意:如果您使用清除应用数据应用不会重新启动。您必须手动重新启动它。