0

現在、コンピューターがないために AIDE do を使用しています。いくつかのクラスを使用して問題が発生しています。androidx ライブラリと AIDE に関係していると確信しています。同様の質問をしている他の人を見ました。ここでは、「androidx.activity.result.ActivityResultCaller」にアクセスできません。私だけが、ActivityResult、ActivityResultCallback、ActivityResultContract、ActivityResultLauncher、ActivityCompat、および上記のクラスのいくつかのメソッドと ActivityResultCaller インターフェイスの「不明なエンティティ」を取得しています。その人の問題の解決策は私にとってはうまくいきませんでした。何か提案があります。ここに私のbuild.gradleとMainActivityがあります。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.2"

    defaultConfig {
        applicationId "com.mycompany.MyApp"
        minSdkVersion 30
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation ('android.arch.core:runtime:+') {
       force = true
}
    implementation 'androidx.activity:activity:1.4.0'
   //implementation 'com.android.support:support-v4:23.+'
    //implementation 'com.android.support:appcompat-v7:22.1.0'
    implementation 'com.android.support:appcompat-v7:27.+'
    //implementation 'androidx.appcompat:appcompat:1.2.0'
     implementation fileTree(dir: 'libs', include: ['*.jar'])
     implementation "androidx.core:core-ktx:1.3.1"
     implementation 'androidx.appcompat:appcompat:1.3.0-alpha01'
}

ここにメインアクティビティがあります

package com.mycompany.MyApp;

import android.app.*;

import android.os.*;
import android.view.Window;
import android.view.WindowManager;
import android.support.v4.content.*;
import android.content.Context;
import androidx.activity.*;
import android.provider.*;
//import androidx.core.app.*;
import android.content.Intent;
import android.net.Uri;
import android.content.pm.*;
//import androidx.activity.result.contract.*;
//import androidx.activity.*;
import android.provider.*;
import java.security.*;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.*;

public class MainActivity extends AppCompatActivity{

    public static String PACKAGE_NAME;
    String[] permissions = {android.Manifest.permission.READ_EXTERNAL_STORAGE, android.Manifest.permission.WRITE_EXTERNAL_STORAGE};
    public static MainActivity instance;
    
    public ActivityResultLauncher<Intent> activityResultLauncher;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
       
        activityResultLauncher =
    
        registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>(){
         @Override
         public void onActivityResult(ActivityResult result){
             
         }
       
    });
        setContentView(  new Game(this));
        PACKAGE_NAME = getApplicationContext().getPackageName();
        
    }
    private boolean checkPermission(){
        if (Build.VERSION.SDK_INT >= 23) {
            if (ActivityCompat.checkSelfPermission(requireContext(), permissions) != PackageManager.PERMISSION_GRANTED) {

                getPermission.launch(permissions);
            }
        }
        
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.R){
            return Environment.isExternalStorageManager();
        }
        else{
            int checkRead = ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.READ_EXTERNAL_STORAGE);
            int checkWrite = ContextCompat.checkSelfPermission(getApplicationContext(), android.Manifest.permission.WRITE_EXTERNAL_STORAGE);
            return checkRead == PackageManager.PERMISSION_GRANTED && checkWrite == PackageManager.PERMISSION_GRANTED;
        }
    }
    
    @Override
    public void startActivityForResult(Intent intent, int requestCode)
    {
        super.startActivityForResult(intent, requestCode);
    }
    /
    private ActivityResultLauncher<Intent> requestPermissionLauncher =
    registerForActivityResult( new ActivityResultContracts.StartActivityForResult(), new ActivityResultCallback<ActivityResult>(){
        @Override
        public void onActivityResult(ActivityResult result){
            
        }
    });
    public void requestPermissions(){
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.R){
            try{
                Intent intent = new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION);
                intent.addCategory("android.intent.category.DEFAULT");
            intent.setData(Uri.parse(String.format("package:%s", new Object[]{PACKAGE_NAME})));
                requestPermissionLauncher.launch(intent);

            }catch(Exception e){
                Intent intent = new Intent();
                intent.setAction(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION);
                activityResultLauncher.launch(intent);
            }
        }
        else{
            ActivityCompat.requestPermissions(this, permissions, 30);
        }
    }
    
}
4

0 に答える 0