您的位置:首页 > 移动开发 > Android开发

Android关闭进程后重启方法

2016-10-20 18:45 519 查看
由于应用需要关闭进程后重启,并非在原内存中重启。网上的方法全部是在内存中重启。只能在原进程中重启。

首先:新建一个广播接收器。

AndroidManifest.xml文件中注册一个<receiver>

<receiver android:name=".receiver.RestartAppReceiver">
<intent-filter>
<action android:name="restart.app"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</receiver>

然后在需要重启的地方,关闭进程前先延时发送一个广播在广播中重启。  
RestartAppReceiver.java

public class RestartAppReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals("restart.app")){
Log.e("TAG","接受到广播");
Log.e("TAG", Process.myPid()+"");
Intent i = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
context.startActivity(i);
}
}
}


在需要重启的地方发送广播:

//关闭App并且重启
Log.e("DeviceInfoAty",Process.myPid()+"");
sendBroadcast(new Intent("restart.app"));
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Process.killProcess(Process.myPid());
}
},3000);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: