Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

328
Views
Referencia no resuelta de GrantPermissionRule

Estoy usando Android Studio para crear una aplicación con kotlin. Estoy tratando de realizar una prueba unitaria de mi clase MainActivity y, dado que uso la API 28, necesito otorgar permisos para ejecutar las pruebas unitarias. Coloqué @get:Rule var allowRule = GrantPermissionRule.grant(android.Manifest.permission.RECORD_AUDIO) en la parte superior de mi clase de prueba, pero Android Studio me dice que GrantPermissionRule es una referencia sin resolver. Mi código está abajo.

Clase de actividad principal:

 class MainActivity : AppCompatActivity(), MediaPlayer.OnCompletionListener { lateinit var recorder: MediaRecorder lateinit var player: MediaPlayer lateinit var file: File lateinit var button1: Button lateinit var button2: Button lateinit var button3: Button lateinit var tv1: TextView // coding180.com override fun onCreate(savedInstanceState: Bundle?) { // call the super class onCreate to complete the creation of activity // like the view hierarchy super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { getPermissionToRecordAudio() } tv1 = findViewById(R.id.tv1) as TextView button1 = findViewById(R.id.btnStart) as Button button2 = findViewById(R.id.btnStop) as Button button3 = findViewById(R.id.btnPlay) as Button ... }

Clase de prueba:

 @RunWith(RobolectricTestRunner::class) class MainActivityTest { @get:Rule var permissionRule = GrantPermissionRule.grant(android.Manifest.permission.RECORD_AUDIO) lateinit var testMainActivity: MainActivity @Before fun setup() { testMainActivity = MainActivity() } @Test @Throws(Exception::class) fun onCreateTest() { //Activity variables val intent = Intent() val bundle = Bundle() intent.putExtras(bundle) val controller = Robolectric.buildActivity(MainActivity::class.java, intent).create() val activity = controller.get() as Activity //Start activity controller.start() //Asserts assertFalse(activity.isFinishing) }

No he podido encontrar a nadie más que tenga este problema. ¿Alguien sabe por qué Android Studio no reconoce GrantPermissionRule y cómo solucionarlo?

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Su código se ve bien, agregue

 androidTestImplementation 'com.android.support.test:rules:1.0.2'

A su build.gradle

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!