Nó khá đơn giản trong trường hợp của bạn, vì bạn không cần bất kỳ logic thêm, nhưng chỉ mức độ nhiều hơn, vì vậy tôi sẽ dính vào trường hợp cụ thể này:
bạn có thể (hoặc có thể đã làm) đã cấp trò chơi của bạn lưu lại dưới dạng nguồn trong .apk của bạn, do đó, một plug in có thể là một .apk tiêu chuẩn, sẽ không xuất hiện trong danh sách ứng dụng người dùng. Để ngăn chặn nó xuất hiện, chỉ đơn giản là không khai báo các loại-launcher:
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
Khi đoạn mã trên không KHÔNG xuất hiện trong AndroidManifest của plugin của bạn, nó sẽ không thể truy cập trực tiếp đến người sử dụng.
Khi hoạt động trò chơi chính của bạn bắt đầu, cần kiểm tra sự tồn tại của plugin, bạn có thể thực hiện bằng cách gọi PackageManager.queryIntentActivities
.Và truy vấn cho một mục đích cụ thể mà bạn khai báo trong file AndroidManifest của plugin của bạn, ví dụ:
<intent-filter>
<action android:name="com.your.package.name.LEVEL_PACK" />
</intent-filter>
Mã truy vấn sau đó sẽ là:
PackageManager packageManager = getPackageManager();
Intent levelsIntent = new Intent("com.your.package.name.LEVEL_PACK");
List<ResolveInfo> levelPacks = packageManager.queryIntentActivities(levelsIntent, 0);
Có nhiều cách để làm điều này, nhưng điều này là khá tầm thường và thẳng về phía trước.
Bước cuối cùng là truy cập các cấp từ các gói cấp đã cài đặt. Bạn có thể làm điều này bằng cách gọi: PackageManager.getResourcesForActivity
và tải các tài nguyên có liên quan và sử dụng chúng theo ý muốn.
Google gần đây đã thông báo rằng mua hàng trong ứng dụng sẽ sớm được đưa ra thị trường. – tamasd