0

I have problems opening videos with links from google drive "https://drive.google.com/file/d/1uJRlap2SrJg3quKz03qMiwk1V2NqdeRz/preview"

I tried to follow the instructions of Soeurng Sar but could not run Link

enter image description here

I do not know calling in MainActivity

String uri = "https://drive.google.com/file/d/1uJRlap2SrJg3quKz03qMiwk1V2NqdeRz/preview"; try { String URL = downloadUrl (uri); // Toast.makeText (this, URL, Toast.LENGTH_SHORT) .show (); } catch (IOException e) { e.printStackTrace (); }

was it right?

I look forward to the help

Logcat:

2019-12-05 10:27:26.206 3219-3226/? E/zygote: Failed sending reply to debugger: Broken pipe

--------- beginning of crash 2019-12-05 10:27:26.857 3219-3219/? E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.playgoogledriver, PID: 3219 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.playgoogledriver/com.example.playgoogledriver.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.playgoogledriver.MainActivity" on path: DexPathList[[zip file "/data/app/com.example.playgoogledriver-NIGfKN7tJNCjcLTpbSsCdg==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.playgoogledriver-NIGfKN7tJNCjcLTpbSsCdg==/lib/x86, /system/lib, /system/vendor/lib]] at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2718) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593) at android.os.Handler.dispatchMessage(Handler.java:105) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.playgoogledriver.MainActivity" on path: DexPathList[[zip file "/data/app/com.example.playgoogledriver-NIGfKN7tJNCjcLTpbSsCdg==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.playgoogledriver-NIGfKN7tJNCjcLTpbSsCdg==/lib/x86, /system/lib, /system/vendor/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93) at java.lang.ClassLoader.loadClass(ClassLoader.java:379) at java.lang.ClassLoader.loadClass(ClassLoader.java:312) at android.app.Instrumentation.newActivity(Instrumentation.java:1173) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2708) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)  at android.app.ActivityThread.-wrap11(Unknown Source:0)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)  at android.os.Handler.dispatchMessage(Handler.java:105)  at android.os.Looper.loop(Looper.java:164)  at android.app.ActivityThread.main(ActivityThread.java:6541)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)  Suppressed: java.io.IOException: Failed to open dex files from /data/app/com.example.playgoogledriver-NIGfKN7tJNCjcLTpbSsCdg==/base.apk because: Failure to verify dex file '/data/app/com.example.playgoogledriver-NIGfKN7tJNCjcLTpbSsCdg==/base.apk': Bad method handle type 7 at dalvik.system.DexFile.openDexFileNative(Native Method) at dalvik.system.DexFile.openDexFile(DexFile.java:353) at dalvik.system.DexFile.(DexFile.java:100) at dalvik.system.DexFile.(DexFile.java:74) at dalvik.system.DexPathList.loadDexFile(DexPathList.java:374) at dalvik.system.DexPathList.makeDexElements(DexPathList.java:337) at dalvik.system.DexPathList.(DexPathList.java:157) at dalvik.system.BaseDexClassLoader.(BaseDexClassLoader.java:65) at dalvik.system.PathClassLoader.(PathClassLoader.java:64) at com.android.internal.os.PathClassLoaderFactory.createClassLoader(PathClassLoaderFactory.java:43) at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:69) at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:36) at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:676) at android.app.LoadedApk.getClassLoader(LoadedApk.java:709) at android.app.LoadedApk.getResources(LoadedApk.java:936) at android.app.ContextImpl.createAppContext(ContextImpl.java:2242) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5672) at android.app.ActivityThread.-wrap1(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1661) ... 6 more

AndroidManifest.xml

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.playgoogledriver">
    <uses-permission android:name= "ERIC.READ_EXTERNAL_STORAGE"></uses-permission>
    <uses-permission android:name="android.permission.INTERNET"></uses-permission>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

MainActivity

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    String uri = "https://drive.google.com/file/d/1uJRlap2SrJg3quKz03qMiwk1V2NqdeRz/preview";
    try {
        String URL = downloadUrl(uri);
        Toast.makeText(this, URL, Toast.LENGTH_SHORT).show();
    } catch (IOException e) {
        e.printStackTrace();
    }

}

public String downloadUrl(String myurl) throws IOException {
    InputStream is = null;
    try {
        URL url = new URL(myurl);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setReadTimeout(10000);
        conn.setConnectTimeout(15000);
        conn.setRequestMethod("GET");
        conn.setDoInput(true);
        conn.connect();
        is = conn.getInputStream();
        String contentAsString = readIt(is);
        return contentAsString;
    } finally {
        if (is != null) {
            is.close();
        }
    }
}
public String readIt(InputStream stream) throws IOException {
    BufferedReader reader = new BufferedReader(new InputStreamReader(stream, "UTF-8"));
    StringBuilder sb = new StringBuilder();
    String line;
    while ((line = reader.readLine()) != null) {
        if (line.contains("fmt_stream_map")) {
            sb.append(line + "\n");
            break;
        }
    }
    reader.close();
    String result = decode(sb.toString());
    String[] url = result.split("\\|");
    return url[1];
}

public String decode(String in) {
    String working = in;
    int index;
    index = working.indexOf("\\u");
    while (index > -1) {
        int length = working.length();
        if (index > (length - 6)) break;
        int numStart = index + 2;
        int numFinish = numStart + 4;
        String substring = working.substring(numStart, numFinish);
        int number = Integer.parseInt(substring, 16);
        String stringStart = working.substring(0, index);
        String stringEnd = working.substring(numFinish);
        working = stringStart + ((char) number) + stringEnd;
        index = working.indexOf("\\u");
    }
    return working;
}

0 Answers0