Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何禁用特定代码段的api级别检查_Android - Fatal编程技术网

Android 如何禁用特定代码段的api级别检查

Android 如何禁用特定代码段的api级别检查,android,Android,如何对出现以下错误的特定代码行禁用api级别检查: Call requires API level 14 (current min is 11): android.view.MenuItem#getActionProvider 这是它给出错误的地方getActionProvider public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar

如何对出现以下错误的特定代码行禁用api级别检查:

Call requires API level 14 (current min is 11): android.view.MenuItem#getActionProvider
这是它给出错误的地方getActionProvider

public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.activity_server_status, menu);
    MenuItem item = menu.findItem(R.id.menu_item_share);
    if(android.os.Build.VERSION.SDK_INT >= 14) {
    mShareActionProvider = (ShareActionProvider) item.getActionProvider();
    // Create the share Intent
    String playStoreLink = "https://play.google.com/store/apps/details?id=" +
        getPackageName();
    String yourShareText = "Install this app " + playStoreLink;
    Intent shareIntent = ShareCompat.IntentBuilder.from(this)
        .setType("text/plain").setText(yourShareText).getIntent();
    // Set the share Intent
    mShareActionProvider.setShareIntent(shareIntent);
    }
    return true;
}
这是一个适用于所有API11+的菜单,如果是14+,则共享按钮应正常工作,否则我将从菜单中隐藏该按钮,甚至加载另一个菜单

我尝试使用@TargetApi,但当我这样做时,我尝试创建另一个onCreateOptions菜单,但即使使用@TargetApi也无法创建两个同名函数

更好的是有一个与API 11+一起工作的共享按钮吗

我试着使用@TargetApi

这是正确的答案

当我这样做时,我尝试创建另一个OnCreateOptions菜单

您不需要另一个
onCreateOptions菜单()
方法

更好的是有一个与API 11+一起工作的共享按钮吗

android.widget.ShareActionProvider
在API级别14+上工作
android.support.v4.view.ShareActionProvider
适用于API级别4+,如果您使用AppCompat操作栏后端口


请注意,实际上没有运行API级别11-13的设备,因此担心11在今天并不特别重要。

在您的菜单中,只需检查构建目标,如果高于11,则使用actionProvider,否则使用其他替代方案。这显示了一些API级别11-13的蜂窝devices@Waqleh当前位置那篇博文快三年了。显示0.1%的Android设备运行API级别13,不到0.1%的Android设备运行API级别11和12。如果我使用@TargetApi,菜单会在API级别11上运行吗?这个菜单不仅有一个共享按钮,我还需要这些按钮work@Waqleh-2011年9月的一篇文章与2014年1月无关。@Waqleh:“如果我使用TargetApi,菜单是否会在api级别11上运行?”--否。