我的解決方案是在免費應用程序中使用簡單的Content Provider公開數據,與完整應用程序共享密碼以避免安全漏洞。
免費應用程序:AndroidManifest.xml中
<provider android:name="MY_PACKAGE.PrefProvider" android:authorities="MY_PACKAGE.prefprovider" />
免費APP:PrefProvider.java
public class PrefProvider extends ContentProvider {
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
if (! selection.equals(MY_SECRET)) {
return null; //Wrong shared secret
}
MatrixCursor prefs = new MatrixCursor(new String[] {"field1", "field2", "field3"});
MatrixCursor.RowBuilder rb = prefs.newRow();
rb.add(settings.getString("field1", ""));
rb.add(settings.getString("field2", ""));
rb.add(settings.getString("field3", ""));
return prefs;
}
}
付費應用:主要活動
if (isFirstTime) {
// Is the first time that the full version is being launched
Cursor cursor = act.getContentResolver().query(Uri.parse("content://MY_PACKAGE.prefprovider"), null, providerKey, null, null);
if (cursor != null && cursor.moveToFirst() != false) { // non empty cursor, the free app is installed
field1 = cursor.getString(0);
field2 = cursor.getString(1);
field3 = cursor.getString(2);
cursor.close();
}
}
李您包括的nk給出了404.請直接將相關信息添加到您的答案中。 – 2013-01-11 17:40:36