是什么区别getContext(),getApplicationContext(),getBaseContext(),和" this"?
虽然这是一个简单的问题,但我无法理解它们之间的基本区别.如果可能,请举出一些简单的例子.
如果它对服务进行了一些更新,我需要在当前活动中显示Toast.所以服务呼叫服务器,如果它是一些更新,我需要证明用户永远不知道他在哪个活动.我尝试像这样实现它:
Toast.makeText(ApplicationMemory.getInstance(), "Your order "+progress+"was updated",
Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)
哪里
public class ApplicationMemory extends Application{
static ApplicationMemory instance;
public static ApplicationMemory getInstance(){
return instance;
}
}
Run Code Online (Sandbox Code Playgroud)
它不起作用.我还试图获取当前的活动名称
ActivityManager am = (ActivityManager) ServiceMessages.this.getSystemService(ACTIVITY_SERVICE);
List< ActivityManager.RunningTaskInfo > taskInfo = am.getRunningTasks(1);
ComponentName componentInfo = taskInfo.get(0).topActivity;
componentInfo.getPackageName();
Log.d("topActivity", "CURRENT Activity ::" + componentInfo.getClassName());
Run Code Online (Sandbox Code Playgroud)
但是不知道如何从ComponentName获取上下文对象.