現在、コンピューターがないために 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);
}
}
}