我想在杀死应用程序的 pid 之前获取应用程序的包名称。所以我需要修改android/os/Process.java的killProcess(pid)。由于它没有上下文,如何做到这一点?请帮忙
问问题
330 次
2 回答
0
创建一个静态类并Application
在该类中为 Context 创建一个静态变量。在您的应用程序中随处使用该变量。试试这个:
public class MyApplication extends Application{
private static Context context;
private static Application application;
public static Application getApplication(){
return application;
}
public void onCreate(){
super.onCreate();
MyApplication.context = getApplicationContext();
MyApplication.application = getApplication();
}
public static Context getAppContext() {
return MyApplication.context;
}
}
不要忘记在清单文件中声明自定义应用程序:
<application
android:name="your.package.MyApplication"
...>
...
</application>
于 2013-10-29T07:20:58.190 回答
0
手动终止 android 进程是一种不好的做法,但您可以使用此行来终止它。
android.os.Process.killProcess(android.os.Process.myPid());
或者
您可以在 Main_activity 中清除静态变量并在此处分配应用程序上下文。然后您可以在应用程序中的任何位置访问包名称
public static String packageName;
然后..
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
.
.
packageName = getApplicationContext().getPackageName();
}
你可以用它作为Main_activity.pacageName
于 2013-10-29T07:22:20.990 回答