//1.获取堆栈中最上面activity名称:
public String getTopActivityName(){
ActivityManager am=(ActivityManager)getSystemService(ACTIVITY_SERVICE);
ComponentName cn=am.getRunningTasks(1).get(0).topActivity;
return cn.getClassName();
}
2.两个应用之间跳转。
第一种方式:
首页activity加个过滤器
<intent-filter>
<action android:name=""xx.xx.xxx..myaction"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
跳转activity中:
try {
Intent intent = new Intent("xx.xx.xxx.myaction");
startActivity(intent);
} catch (Exception e) {
Toast.makeText(MainActivity.this, "该界面不存在!",
Toast.LENGTH_LONG).show();
}
第二种方式:
无需添加过滤器。
只需:
ComponentName componetName = new ComponentName(
// 这个是另外一个应用程序的包名
""xx.xx.xxx.",
// 这个参数是要启动的Activity
""xx.xx.xxx..LoadingActivity");
Intent intent = new Intent();
intent.setComponent(componetName);
startActivity(intent);
第三种方式:
PackageManager pm=getPackageManager();
Intent intent=new Intent();
intent=pm.getLaunchIntentForPackage("xx.xxx.xxx);//包名
startActivity(intent);