Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Understanding @SuppressLint("NewApi") annotation

I am an android beginner. While trying a code of managing activity life cycle, I encountered a new thing.

package com.example.activitylaunch;  import android.os.Build; import android.os.Bundle; import android.annotation.SuppressLint; import android.app.ActionBar; import android.app.Activity; import android.view.Menu; import android.widget.TextView;  @SuppressLint("NewApi") public class MainActivity extends Activity {  TextView mTextView;  @Override protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     setContentView(R.layout.activity_main);      mTextView = (TextView) findViewById(R.id.text_message);      if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)     {         ActionBar actionBar = getActionBar();         actionBar.setHomeButtonEnabled(false);     }     }  @Override public void onDestroy(){     super.onDestroy();     android.os.Debug.stopMethodTracing(); }  @Override public boolean onCreateOptionsMenu(Menu menu) {     // Inflate the menu; this adds items to the action bar if it is present.     getMenuInflater().inflate(R.menu.main, menu);     return true; }  } 

I understood the code well, but it gave an error in ActionBar SuppressLint. When I double clicked it, @SuppressLint("NewApi") is being added. What is meant by @SuppressLint("NewApi") here?

like image 581
vhd Avatar asked May 17 '13 04:05

vhd


1 Answers

@SuppressLint("NewApi") is an annotation used by the Android Lint tool.

Lint will tell you whenever something in your code isn't optimal or may crash. By passing NewApi there, you're suppressing all warnings that would tell you if you're using any API introduced after your minSdkVersion

See a full list of Lint checks - including "NewApi" - here: http://tools.android.com/tips/lint-checks

like image 187
Raghav Sood Avatar answered Sep 19 '22 07:09

Raghav Sood