有没有办法Activity找出谁(即班级名称)发送了Intent?我正在寻找一种通用的方式让我Activity回复收到的意图,然后将一个回发给发件人,无论是谁.
我尝试了很多来获取最近和正在运行的应用程序(不是进程)的列表但是无法获得它.
我查看了有关此问题的所有stackoverflow问题,但我得到的关于运行进程和最近任务的唯一答案不是特定应用程序,就像我们在长按主页按钮时可以在Samsung Mobile任务管理器中看到的那样.
我可以通过以下代码获取正在运行的进程:
ActivityManager actvityManager = (ActivityManager)
this.getSystemService( ACTIVITY_SERVICE );
List<RunningAppProcessInfo> procInfos = actvityManager.getRunningAppProcesses();
for(RunningAppProcessInfo runningProInfo:procInfos){
Log.d("Running Processes", "()()"+runningProInfo.processName);
}
Run Code Online (Sandbox Code Playgroud)
它给出了所有进程的包名,但我只想要我已经启动的应用程序的包名(Both Recent和Running).
如何从运行应用程序进程中提取它?
在Android应用程序中,如何以编程方式发现应用程序启动了我的应用
我认为它应该在MyApplication中扩展Application,但它没有线索.
但是在Activity里面我可以调用getIntent()
,如果调用应用程序是礼貌的给出这样的信息,我会得到它
intent.getStringExtra()
是否有一般方法不需要调用应用程序来提供自我信息?
在其他应用程序开发人员称之为
Intent LaunchIntent = getPackageManager().getLaunchIntentForPackage("com.company.myapp");
startActivity(LaunchIntent);
Run Code Online (Sandbox Code Playgroud)
请参阅从Android上的其他应用程序启动应用程序并从您自己打开另一个应用程序(意图)
更新:我已经编写了一个启动我的应用程序的应用程序,实际上唯一的方法是将Extra数据放入Intent,因为它只有intent "android.intent.action.MAIN","android.intent.category.LAUNCHER"并且已启动应用程序包.