Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Google I/O Extended Tokyo 2017

Google I/O Extended Tokyo 2017

Hiroshi Hashimoto

May 17, 2017
Tweet

More Decks by Hiroshi Hashimoto

Other Decks in Technology

Transcript

  1. About us 副島 茂大 @DeNA Co., Ltd 愛澤 萌  @CyberAgent, Inc.

    藤田 琢磨 @FOLIO Co.,Ltd. 菅井 純  @Mercari, Inc. 橋本 泰  @Souzoh, Inc. powered by Shibuya.apk #io17extendedJp
  2. • Channels • Timeout • Messaging Style ◦ addHistoricMessage •

    Colorized • Snoozing • Badges* • NotificationListener* ◦ onNotificationRemoved #io17extendedjp
  3. Channels #io17extendedjp • Importance • Sound • Lights • Vibration

    • Show on lockscreen • Override do not disturb Unified system to help users manage notifications
  4. Messaging Style - Historic Message #io17extendedjp Provide context to a

    conversation by adding historic messages to messaging related notifications
  5. NotificationListenerService REASON_APP_CANCEL REASON_APP_CANCEL_ALL REASON_CHANNEL_BANNED REASON_DELEGATE_CANCEL REASON_DELEGATE_CANCEL_ALL REASON_DELEGATE_CLICK REASON_DELEGATE_ERROR REASON_GROUP_OPTIMIZATION REASON_GROUP_SUMMARY_CANCELED

    REASON_LISTENER_CANCEL REASON_LISTENER_CANCEL_ALL REASON_PACKAGE_BANNED REASON_PACKAGE_CHANGED REASON_PACKAGE_SUSPENDED REASON_PROFILE_TURNED_OFF REASON_SNOOZED REASON_TIMEOUT REASON_UNAUTOBUNDLED REASON_USER_STOPPED onNotificationRemoved(StatusBarNotification, NotificationListenerService.RankingMap, int) #io17extendedjp
  6. Enter Pip Mode - API Level24 - void onPictureInPictureModeChanged(boolean isInPictureInPictureMode)

    boolean enterPictureInPictureMode (PictureInPictureArgs args) - onPictureInPictureModeChanged(boolean isInPictureInPictureMode) - Navigation In Pip #io17extendedjp
  7. PendingIntent and Broadcast Receiver final ArrayList<RemoteAction> actions = new ArrayList<>();

    inActivity.this,requestCode, new Intent(ACTION_MEDIA_CONTROL).putExtra(EXTRA_CONTROL_TYPE, controlType), 0); final Icon icon = Icon.createWithResource(MainActivity.this, iconId); actions.add(new RemoteAction(icon, title, title, intent)); actions.add(new RemoteAction(Icon.createWithResource(MainActivity.this, R.drawable.ic_info_24dp), ....... setPictureInPictureArgs(new PictureInPictureArgs().setActions(actions);); #io17extendedjp
  8. Autofill Framework Filling out forms is a time-consuming and error-prone

    task. Users can easily get frustrated with apps that require these type of tasks. The Autofill Framework improves the user experience by providing the following benefits: - Less time spent in filling fields Autofill saves users from re-typing information. - Minimize user input errors Typing is prone to errors, especially in mobile devices. Removing the necessity of typing information also removes the errors that come with it. #io17extendedjp
  9. Android Studio 2.4 preview & O New Feature - Autosizing

    TextViews - Working with Fonts - Background Executuion Limits - Background Service Limitations - Broadcast Limitations - Migration Guide - > Note: These limitations apply only to apps that target Android O. Apps that target API level 25 or lower are not affected. - #io17extendedjp
  10. App Shortcuts The com.android.launcher.action.INSTALL_SHORTCUT broadcast no longer has any effect

    on your app, because it is now a private, implicit broadcast. Instead, you should create an app shortcut by using the requestPinShortcut() method from the ShortcutManager class. com.android.launcher.action.INSTALL_SHORTCUT ブロードキャストは、プライベートで暗黙的なブロードキャ ストになったため、アプリに影響を与えることはなくなりました。 代わりに、ShortcutManager クラスの requestPinShortcut() メソッドを使ってアプリのショートカットを作成する 必要があります。 #io17extendedjp