10

在这里,我正在为 android nougat App Shortcuts中引入的 Android Shortcuts 进行演示

我使用以下代码创建应用快捷方式

ShortcutManager shortcutManager;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {
    shortcutManager = getSystemService(ShortcutManager.class);
    ShortcutInfo shortcut;
    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N_MR1) {
        shortcut = new ShortcutInfo.Builder(this, "second_shortcut")
                .setShortLabel(getString(R.string.str_shortcut_two))
                .setLongLabel(getString(R.string.str_shortcut_two_desc))
                .setIcon(Icon.createWithResource(this, R.mipmap.ic_launcher))
                .setIntent(new Intent(Intent.ACTION_VIEW,
                            Uri.parse("https://www.google.co.in")))
                .build();
        shortcutManager.setDynamicShortcuts(Arrays.asList(shortcut));
    }
}

但在这里我得到编译时错误 cannot resolve symbol ShortcutManager

这是我的build.gradle文件

apply plugin: 'com.android.application'

android {
    compileSdkVersion 24
    buildToolsVersion "24.0.3"
    defaultConfig {
        ...
        minSdkVersion 9
        targetSdkVersion 24
        ...
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:24.2.1'
}
4

1 回答 1

5

您需要更新您的dependency因为ShortcutManager已添加到 API 25 中,如此处所述,因此您应该更新/安装 API 25 的以下组件

  • 构建工具
  • 安装 API 25 平台
  • Android 支持存储库
  • 开发工具包工具
  • SDK平台工具

并在您的图片中进行必要的更改build-gradle file

将以下项目的值更新为 25

  • compileSdkVersion
  • buildTools版本

点击链接查看API 25 (v7.1) 中提供的功能更新

最终它会看起来像这样,使用成功构建ShortcutManager

在此处输入图像描述

您可能还想更新其他一些重要的软件包

  • USB驱动程序:用于USB设备调试
  • 播放服务:用于谷歌地图、谷歌+等中添加的最新 API
  • 系统映像:使用最新的 AVD 设备进行练习
  • Android Support Repository : 支持安卓设备、电视等的库
  • Google 存储库:用于 Firebase、Google 地图、游戏成就和排行榜的功能
于 2016-11-07T06:49:19.533 回答