Android Wear 自定义通知未显示 activity

Android Wear custom notification not showing activity

我正在为 Android Wear 开发自定义通知,向上滑动通知时应显示自定义 activity。显示通知,甚至可穿戴功能(如背景和自定义尺寸)都可见,但是 activity 从未加载或显示。

此外,MainActivityPlaybackNotificationActivity 都应该在创建时将消息写入日志。 MainActivity 写了消息,但后者没有。

可能是什么问题?

MainActivity.java

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        new NotificationBuilder(this).showNotification();
        Log.e("MainActivity", "Reached");
        finish();
    }
}

NotificationBuilder.java

public class NotificationBuilder {
    private final Context mContext;

    public NotificationBuilder(Context context) {
        mContext = context;
    }

    public Notification buildNotification() {
        Notification.Builder builder = new Notification.Builder(mContext)
                .setContentTitle("Title")
                .setContentText("Content text")
                .setSmallIcon(R.mipmap.ic_launcher);

        Intent playbackIntent = new Intent(mContext, PlaybackNotificationActivity.class);

        PendingIntent playbackPendingIntent = PendingIntent.getActivity(
                mContext, 0, playbackIntent, PendingIntent.FLAG_UPDATE_CURRENT);

        Notification.WearableExtender extender = new Notification.WearableExtender()
                .setBackground(BitmapFactory.decodeResource(mContext.getResources(), R.mipmap.ic_launcher))
                .setCustomSizePreset(Notification.WearableExtender.SIZE_MEDIUM)
                .setDisplayIntent(playbackPendingIntent);

        builder.extend(extender);

        return builder.build();
    }

    public void showNotification() {
        Notification notification = buildNotification();

        NotificationManager manager = (NotificationManager)
                mContext.getSystemService(Context.NOTIFICATION_SERVICE);

        manager.notify(1, notification);
    }
}

PlaybackNotificationActivity.java

public class PlaybackNotificationActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_playback_notification);

        Log.e("NotificationActivity", "Reached");
        Toast.makeText(this,  "Toast", Toast.LENGTH_SHORT).show();
    }
}

事实证明,Android Wear 的模拟器是罪魁祸首,它在物理智能手表上完美运行,但在模拟器上却不行。