我可以从调用我的 Android 程序的应用程序快捷方式中读取标签文本吗?
我可以读取应用程序名称:
getString(R.string.app_name)
但这不是我想要的。它必须是分配给快捷方式的自定义标签文本。
我计划有多个带有不同标签的快捷方式。标签会影响我程序的某些行为。
您不一定需要知道您创建的快捷方式的名称或文本,而是可以使用该快捷方式通过意图“传递参数”给活动。您的快捷方式将是一个常规 Activity,它只会使用 Intent 将参数传递给应用程序的主 Activity。
Intent i = new Intent(this, SomeActivity.class);
i.putExtra("some_tag", true);
startActivity(i);
而在要启动的Activity中,
@Override
protected void onNewIntent(Intent in) {
super.onNewIntent(in);
if(in.hasExtra("some_tag") && in.getExtra("some_tag") == true) {
//Do Something Special
}
}
请注意,您需要launchMode
设置为按照此处所述
singleTop
使用:http: //developer.android.com/reference/android/app/Activity.html#onNewIntent(android.content.Intent)onNewIntent()
更多信息可以在这里找到:
不,启动快捷方式的标签不会以任何方式传递给您。