2013-10-29 52 views
0

我想杀死应用程序的PID之前得到应用的应用包名称。所以我需要修改android/os/Process.java的killProcess(pid)。如何做到这一点,因为它没有上下文?请帮助获取上下文中Process.java

回答

0

创建一个静态类和扩展Application,在这个类,创建上下文的静态变量。在应用程序中随处随地使用变量。试试这个:

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> 
0

杀死一个机器人工艺手工是一种不好的做法,但你可以使用此行杀死。

android.os.Process.killProcess(android.os.Process.myPid()); 

可以decleare在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