要判断是启动器还是其他应用程序启动了你的应用程序,你可以检查启动的Intent中的action和category。
以下是一个示例代码,展示如何在Android中判断是启动器还是其他应用程序启动了你的应用程序:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 获取启动的Intent
Intent intent = getIntent();
// 获取Intent的action
String action = intent.getAction();
// 获取Intent的category
String category = intent.getCategories() != null && intent.getCategories().size() > 0 ? intent.getCategories().iterator().next() : null;
// 判断是否是启动器启动的应用程序
if (Intent.ACTION_MAIN.equals(action) && Intent.CATEGORY_LAUNCHER.equals(category)) {
// 是启动器启动的应用程序
Toast.makeText(this, "启动器启动了我的应用程序", Toast.LENGTH_SHORT).show();
} else {
// 是其他应用程序启动的应用程序
Toast.makeText(this, "其他应用程序启动了我的应用程序", Toast.LENGTH_SHORT).show();
}
}
}
在上面的代码中,我们获取了启动的Intent,并分别获取了Intent的action和category。然后,我们通过比较action和category是否与启动器的action和category相匹配来判断是启动器还是其他应用程序启动了我们的应用程序。
如果action是ACTION_MAIN,并且category是CATEGORY_LAUNCHER,那么就可以确定是启动器启动的应用程序。