android重启APP
来源:互联网 发布:空间大师软件 编辑:程序博客网 时间:2024/06/05 00:23
一、启动另一个APP
代码比较简单,直接贴上:
try { PackageManager packageManager = getActivity().getPackageManager(); Intent intent=new Intent(); intent = packageManager.getLaunchIntentForPackage("com.maiji.textviewchangedemo"); //这里参数就是你要打开的app的包名 startActivity(intent); } catch (Exception e) { Log.e("打开另外一个应用出错",e.getMessage()); //未打开,可能要打开的app没有安装,需要再此进行处理 }
2、重启本APP
a. 使用 FLAG_ACTIVITY_CLEAR_TOP :
Intent intent = getBaseContext().getPackageManager() .getLaunchIntentForPackage(getBaseContext().getPackageName()); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent);
b. 使用 AlarmManager :
Intent intent = getBaseContext().getPackageManager() .getLaunchIntentForPackage(getBaseContext().getPackageName()); PendingIntent restartIntent = PendingIntent.getActivity(getApplicationContext(), 0, intent, PendingIntent.FLAG_ONE_SHOT); AlarmManager mgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE); mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, restartIntent); // 1秒钟后重启应用 System.exit(0);
c. 开启一个Service,然后自己杀死APP的进程,最后在Service里通过包名来启动一个APP并销毁Service
/** * 此工具类用来重启APP,只是单纯的重启,不做任何处理。 * Created by 13itch on 2016/8/5. */public class RestartAPPTool { /** * 重启整个APP * @param context * @param Delayed 延迟多少毫秒 */ public static void restartAPP(Context context,long Delayed){ /**开启一个新的服务,用来重启本APP*/ Intent intent1=new Intent(context,killSelfService.class); intent1.putExtra("PackageName",context.getPackageName()); intent1.putExtra("Delayed",Delayed); context.startService(intent1); /**杀死整个进程**/ android.os.Process.killProcess(android.os.Process.myPid()); } /***重启整个APP*/ public static void restartAPP(Context context){ restartAPP(context,2000); }}
/*** * 该服务只用来让APP重启,生命周期也仅仅是只是重启APP。重启完即自我杀死 */public class killSelfService extends Service { /**关闭应用后多久重新启动*/ private static long stopDelayed=2000; private Handler handler; private String PackageName; public killSelfService() { handler=new Handler(); } @Override public int onStartCommand(final Intent intent, int flags, int startId) { stopDelayed=intent.getLongExtra("Delayed",2000); PackageName=intent.getStringExtra("PackageName"); handler.postDelayed(()->{ Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage(PackageName); startActivity(LaunchIntent); killSelfService.this.stopSelf(); },stopDelayed); return super.onStartCommand(intent, flags, startId); } @Override public IBinder onBind(Intent intent) { return null; }}
最后别忘了,在AndroidManifest.xml文件中去注册Service
<service android:name=".killSelfService" />
阅读全文
0 0
- android重启APP
- android开发 重启app
- android关闭重启app
- Android 重启APP application 代码 code restart android app
- Android 重启app的一些方法
- Android app实现重启、关机功能
- Android重启app功能实现
- android重启自身应用APP
- Android 开机自动重启App代码
- Android实现重启app功能
- android app崩溃后自动重启
- Android 全局异常捕获 重启app
- ### Android 判断app的状态 重启app
- [Android]App重构记录
- 重启app
- 重启APP
- android app让系统重启进入Recovery模式
- Android APP崩溃上传日志到服务器并且重启!
- 每天一个linux命令(37):date命令
- 一起写atom插件(3)——常用的组件
- C#在Word中插入Html内容
- windows中自带的定时任务程序—shutdown.exe -s
- 初次接触手机端,使用vue,mint-ui
- android重启APP
- HashMap,HashSet,LinkedHashSet,LinkedHashMap,ArrayList 原理
- 每天一个linux命令(38):cal 命令
- 例2-24 将单位阶跃序列u(n)分解为偶分量和奇分量
- wampServer多项目配置
- Android进阶#(5/12)独特高效的数据存储——SQLite数据库_SQLite3基本内容
- JavaScript学习练习程序DOM——爱好选择
- Masnory 使用
- Cav UVA