2013-10-29 51 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