我正在使用Website2Apk编译的应用程序,并进行逆向工程,以便在Android Studio中成为可行的项目。我从115个错误开始,现在我把它缩小到只有8个。其中六个构建错误与其中一个java文件中的setType和addCategory方法有关。我完全不知道可能导致这些错误的原因。
以下是我特定java文件的代码:
package com.valen.plazaone;
import android.content.Intent;
import android.net.Uri;
import android.os.Environment;
import android.os.Parcelable;
import android.util.Log;
import android.webkit.GeolocationPermissions.Callback;
import android.webkit.ValueCallback;
import android.webkit.WebChromeClient;
import android.webkit.WebChromeClient.FileChooserParams;
import android.webkit.WebView;
import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.lang.Object;
/* renamed from: com.valen.plazaone.c */
class C0002c extends WebChromeClient {
final /* synthetic */ MainActivity f11a;
C0002c(MainActivity mainActivity) {
this.f11a = mainActivity;
}
private File m5a() {
return File.createTempFile("JPEG_" + new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()) + "_", ".jpg", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES));
}
public void onGeolocationPermissionsShowPrompt(String str, Callback callback) {
callback.invoke(str, true, false);
}
public void onProgressChanged(WebView webView, int i) {
if (i < 100 && this.f11a.f4d.getVisibility() == 8) {
this.f11a.f4d.setVisibility(0);
}
this.f11a.f4d.setProgress(i);
if (i == 100) {
this.f11a.f4d.setVisibility(8);
}
}
public boolean onShowFileChooser(WebView webView, ValueCallback valueCallback, FileChooserParams fileChooserParams) {
File a;
Throwable e;
Intent intent;
Parcelable intent2;
Parcelable[] parcelableArr;
Object[] objArr;
Intent intent3;
if (this.f11a.f7h != null) {
this.f11a.f7h.onReceiveValue(null);
}
this.f11a.f7h = valueCallback;
Intent intent4 = new Intent("android.media.action.IMAGE_CAPTURE");
if (intent4.resolveActivity(this.f11a.getApplicationContext().getPackageManager()) != null) {
try {
a = m5a();
try {
intent4.putExtra("PhotoPath", this.f11a.f8i);
} catch (IOException e2) {
e = e2;
Log.e(MainActivity.f0f, "Unable to create Image File", e);
if (a != null) {
this.f11a.f8i = "file:" + a.getAbsolutePath();
intent4.putExtra("output", Uri.fromFile(a));
} else {
intent4 = null;
}
intent = new Intent("android.media.action.VIDEO_CAPTURE");
intent2 = new Intent("android.intent.action.GET_CONTENT");
intent2.addCategory();
intent2.setType("*/*");
if (intent == null) {
parcelableArr = new Intent[]{intent, intent4};
} else if (intent4 != null) {
objArr = new Intent[]{intent4};
} else {
parcelableArr = new Intent[0];
}
intent3 = new Intent("android.intent.action.CHOOSER");
intent3.putExtra("android.intent.extra.INTENT", intent2);
intent3.putExtra("android.intent.extra.TITLE", "Upload Files");
intent3.putExtra("android.intent.extra.INITIAL_INTENTS", parcelableArr);
this.f11a.startActivityForResult(intent3, 1);
return true;
}
} catch (IOException e3) {
e = e3;
a = null;
Log.e(MainActivity.f0f, "Unable to create Image File", e);
if (a != null) {
intent4 = null;
} else {
this.f11a.f8i = "file:" + a.getAbsolutePath();
intent4.putExtra("output", Uri.fromFile(a));
}
intent = new Intent("android.media.action.VIDEO_CAPTURE");
intent2 = new Intent("android.intent.action.GET_CONTENT");
intent2.addCategory("android.intent.category.OPENABLE");
intent2.setType("*/*");
if (intent == null) {
parcelableArr = new Intent[]{intent, intent4};
} else if (intent4 != null) {
parcelableArr = new Intent[0];
} else {
objArr = new Intent[]{intent4};
}
intent3 = new Intent("android.intent.action.CHOOSER");
intent3.putExtra("android.intent.extra.INTENT", intent2);
intent3.putExtra("android.intent.extra.TITLE", "Upload Files");
intent3.putExtra("android.intent.extra.INITIAL_INTENTS", parcelableArr);
this.f11a.startActivityForResult(intent3, 1);
return true;
}
if (a != null) {
this.f11a.f8i = "file:" + a.getAbsolutePath();
intent4.putExtra("output", Uri.fromFile(a));
} else {
intent4 = null;
}
}
intent = new Intent("android.media.action.VIDEO_CAPTURE");
intent2 = new Intent("android.intent.action.GET_CONTENT");
intent2.addCategory("android.intent.category.OPENABLE");
intent2.setType("*/*");
if (intent == null) {
parcelableArr = new Intent[]{intent, intent4};
} else if (intent4 != null) {
objArr = new Intent[]{intent4};
} else {
parcelableArr = new Intent[0];
}
intent3 = new Intent("android.intent.action.CHOOSER");
intent3.putExtra("android.intent.extra.INTENT", intent2);
intent3.putExtra("android.intent.extra.TITLE", "Upload Files");
intent3.putExtra("android.intent.extra.INITIAL_INTENTS", parcelableArr);
this.f11a.startActivityForResult(intent3, 1);
return true;
}
}
此特定错误发生在所有intent2后面跟着setType或addCategory。有谁知道如何解决这个错误?
提前致谢。
答案 0 :(得分:1)
从:
更改变量intent2
的声明
Parcelable intent2;
为:
Intent intent2;
或者,如果由于某种原因你不能改变它,只要你在它上面调用一个方法就输入Intent
:
((Intent) intent2).addCategory();
((Intent) intent2).setType("*/*");