android - modification des paramètres du système d'un dispositif enracinée à partir de l'intérieur de l'application
Je suis en train de changer le sms limite ici à partir de l'intérieur de l'application. L'application est supposé être en cours d'exécution sur un dispositif enracinée. Je suis à l'aide de la RootTools pour vérifier si l'appareil est enraciné ou non. Je suis à essayer de comprendre comment écrire le réglage actuel sur le settings.db
. Toute suggestion qui pourrait m'aider dans cette aide est très appréciée.
Merci d'avance.
Si settingd.db db sqlite fichier, puis vous pouvez ouvrir ce fichier avec n'importe quel sqlite outils et de modifier manuellement.
Je veux le faire à partir de l'intérieur de l'application elle-même.
qu'advient-il si vous accéder à "/data/data/com.android.les prestataires.paramètres/bases de données/paramètres.db" ce chemin pour modifier des données dans la base de données de la classe helper?
ok, je ne peux pas voir votre lien, vous pouvez poster votre erreur ici?
t renvoie une erreur. Vous pouvez vérifier la
Je veux le faire à partir de l'intérieur de l'application elle-même.
qu'advient-il si vous accéder à "/data/data/com.android.les prestataires.paramètres/bases de données/paramètres.db" ce chemin pour modifier des données dans la base de données de la classe helper?
ok, je ne peux pas voir votre lien, vous pouvez poster votre erreur ici?
t renvoie une erreur. Vous pouvez vérifier la
openDatabase
méthode [ici][1] pour plus de détails [1]: developer.android.com/reference/android/database/sqlite/...OriginalL'auteur 500865 | 2011-09-12
Vous devez vous connecter pour publier un commentaire.
J'ai eu cette résolu en faisant ceci:
/data/data/com.android.providers.settings/databases/settings.db
à mon dossier d'application/data/data/my_app_directory/
.SQLiteDatabase
classe./data/data/my_app_directory/settings.db
à/data/data/com.android.providers.settings/databases/
La copie opérations ont été effectuées en utilisant
RootTools.sendShell
n'est-il pas possible d'agir directement sur les paramètres d'origine.db?
Autant que je sache, il n'est pas possible.
Je l'ai fait possible. Veuillez vérifier ma réponse.
OriginalL'auteur 500865
Oui, Vous pouvez le faire si vous avez un accès root. Ses un processus de longue haleine, mais vous pouvez le faire :
Étape : 1 copie
settings.db
de/data/data/com.android.providers.settings/databases/
à l'aide deRootBrowser
de l'appareil et que le changement de la valeur à l'aidesqliteBrowser
lequel vous souhaitez mettre à jour que les paramètres de mise à jour.db et de mettre enassets
ensemble de votre projetÉtape 2 : Copiez ce fichier dans votre dossier d'application (n'importe où où vous pouvez accéder) à l'aide de
asset manager
pour que vous avez besoin<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
cette fonction de copie de fichiers à partir d'actifs
Étape 3 : remplacer le système
settings.db
chemin du système de fichiers ($destPath) est/data/data/com.android.providers.settings/databases/
Étape 4 : Redémarrer l'appareil
Que tout soit fini.
OriginalL'auteur Upendra Shah
Réponse tardive, mais vous n'avez pas besoin de copier les paramètres.db, vous pouvez le mettre à jour avec RootTools comme
OriginalL'auteur Tomek