私はフラグメント内で次のことを行っています(便宜上圧縮されています):
intentBuilder = new CustomTabsIntent.Builder();
String label = "Test";
PendingIntent pendingIntent = createPendingIntent(ActionBroadcastReceiver.ACTION_TEST);
intentBuilder.addMenuItem(label, pendingIntent);
CustomTabActivityHelper.openCustomTab(
getActivity(), intentBuilder.build(), mUri, null);
private PendingIntent createPendingIntent(int actionSourceId) {
Intent actionIntent = new Intent(getActivity().getApplicationContext(),
ActionBroadcastReceiver.class);
actionIntent.putExtra(ActionBroadcastReceiver.KEY_TEST, actionSourceId);
return PendingIntent.getBroadcast(
getActivity().getApplicationContext(), actionSourceId, actionIntent, 0);
}
次にActionBroadCastReceiver
、拡張するクラスがありますBroadcastReceiver
:
@Override
public void onReceive(Context context, Intent intent) {
Log.d(ActionBroadcastReceiver.class.getSimpleName(), "Broadcast Received");
Toast.makeText(context, "Received", Toast.LENGTH_SHORT).show();
}
}
メニュー項目をクリックしてもログ コールは表示されず、トースト メッセージも表示されないため、ブロードキャストが送受信されていないと思われます。