Fix *.love file association in Nougat and later.

Note that the file association is rather hacky but I can't find any method
which is compatible in Nougat and later as file:// URI is banned there.
This commit is contained in:
Miku AuahDark
2019-07-10 12:10:36 +08:00
parent cd6463b4e4
commit f761e43904
2 changed files with 21 additions and 1 deletions
+17 -1
View File
@@ -3,7 +3,7 @@
android:installLocation="auto" xmlns:android="http://schemas.android.com/apk/res/android"> android:installLocation="auto" xmlns:android="http://schemas.android.com/apk/res/android">
<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.VIBRATE"/> <uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" android:maxSdkVersion="18" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
<!-- OpenGL ES 2.0 --> <!-- OpenGL ES 2.0 -->
@@ -35,6 +35,22 @@
<data android:pathPattern=".*\\.love" /> <data android:pathPattern=".*\\.love" />
<data android:host="*" /> <data android:host="*" />
</intent-filter> </intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="content" />
<data android:host="*" />
<data android:mimeType="application/x-love-game" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="content" />
<data android:host="*" />
<data android:mimeType="*/*" />
</intent-filter>
</activity> </activity>
<activity <activity
android:name="org.love2d.android.DownloadActivity" android:name="org.love2d.android.DownloadActivity"
@@ -67,6 +67,10 @@ public class GameActivity extends SDLActivity {
Log.d("GameActivity", "Vibration disabled: could not get vibration permission."); Log.d("GameActivity", "Vibration disabled: could not get vibration permission.");
} }
// These 2 variables must be reset or it will use the existing value.
gamePath = "";
storagePermissionUnnecessary = false;
handleIntent(this.getIntent()); handleIntent(this.getIntent());
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);