• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Parental control app that automatically locks child's phone in certain locations

Greetings to all Android enthusiasts.

Can you please advise on the following*
*or point me in the right direction if the question has already been answered - I've searched but couldn't find a ready answer*.

I'd like to be able to prevent my son from using his mobile phone at home and on school campus. This is to:
- Help him comply with the school's policy on mobile phone use
- Encourage him, while at home, to use devices with larger screens, such as a tablet.

I can of course remote-lock his phone manually or put in time-based locks. But it would be way better if the phone locked itself automatically in defined locations. Similar to the geofence feature but more active I suppose: as soon as he enteres the defined perimeter, the phone locks until he leaves the perimeter with his phone again.

Are there any apps that have this feature?

Many thanks for your advice.

Andrei

iOS: Install Apps you Want before Apple Bans them for Political Reasons

Apple has banned the news app RT, and the social media app Gab, for political reasons. There's no guarantee that Apple's going to stop there. Sideloading isn't practical on iOS, so if the app's banned from the Apple app store: It can't be installed. However, you can install the app before Apple bans it: It will remain on your system until you reinstall iOS (that is, reset the iPhone/iPad/iPod). Apps which may be next on Apple's chopping block are:

#1: News apps which are not part of the mainstream American media, especially right-leaning ones.

#2: Apps from countries which are geopolitical enemies of the United States, especially Russia.

Be warned that, if the app is banned and you get a new iPhone, the banned app will not transfer to your new iPhone along with your other apps.

BuzzKill app not sounding the alarm

I recently installed BuzzKill, and I want it to do something specific regarding the Jiobit app.

Jiobit is a GPS tracker my cat wears on her collar, and it the associated app on my phone gives me an alert if my cat runs away from home.

The problem is that Jiobit's notifications trigger the exact same sound file as an incoming text message, or any other notification. Since it's a pretty big deal if my cat gets out, I want to hear a special alarm in the unlikely event that my cat does leave home.

Therefore, I created a rule in BuzzKill that says any time Jiobit sends me a notification containing the word "left", an alarm should sound. This is because the relevant Jiobit notification would always say, "Mona has left home."

I have tested this by removing the cat's collar and taking it with me when I leave home.
Unfortunately, this triggers Jiobit's normal notification (with the text message sound), but does not cause BuzzKill to sound the alarm I wanted.

The thing is, BuzzKill *does* recognize these notifications as matching my criteria, because when I click on the rule I created, those recent Jiobit notifications show up in BuzzKill's list of notifications that match the criteria.

So BuzzKill can clearly see the notifications, but it's not sounding the alarm.

I should mention I did try just having BuzzKill sound an alarm for any and all notifications Jiobit sent me. That works, and the alarm does sound. But I don't want to go that route, because Jiobit does send me notifications unrelated to my cat's whereabouts. For example, it will send me a notification when I've been charging the battery on the GPS tracker and it's full. I don't want an alarm to sound when the battery's full.

Thank you in advance for whatever ideas you might have for how to fix this.

PS: I'm using a Samsung Galaxy S9, model number SM-G965U, running Android version 10. It is not rooted.

Screenshot_20230627-183853_BuzzKill.jpg

  • Question Question
Help Restore Google Assistant Beep/chime WITHOUT Voice Access or Switch Access

Hi there,

I just upgraded to a S23 Ultra from an S10 and noticed that "Ok Google" doesnt make its distinctive chime anymore, which i really liked because it gave me confirmation that it was listening without me having to look at the screen.

Thru scouring the interwebs i figured out that both the Voice Access and Switch Access toggles can bring back the beep, but they have other undesirable backdraws (namely they make the youtube app vibrate whenever info cards are shown, and there doesnt seem to be a way to remove the permision to make the phone vibrate).

So im looking for a way to restore "Ok Google" making a beep when called that doesnt involve Switch Access or Voice Access. All help is appreciated :) thanks

Secure folder files recovery

Hello all, I have a samsung S22(non rooted) with secure folder installed. I moved some files there, but I've acciendetally deleted them(also from the recycle bin), I don't have a backup in the cloud. I've also searched methods through the internet but everyone gives you a different tool to use. I actually tried a few with no luck(they only recover the files from the "normal" gallery, and not from the secure folder gallery).
So could it be posible to recover these files somehow??(maybe rooting the samsung, maybe jailbreaking it or it just that when you delete files from the recylce bin they get permenantly deleted and there's no way of recovering them)

Android Studio Constraint Layout Error

I am getting such an error while compiling the application.
When I make a LinearLayout, the error disappears, but when I use a ConstraitLayout, the error appears.

Screenshot_20230627-093206_Chrome.jpg


Java Class


public Uri getLocalBitmapUri() {
LinearLayout linearLayout = findViewById(R.id.parent); /*Your root view to be part of screenshot*/
linearLayout.buildDrawingCache();
Bitmap bmp = linearLayout.getDrawingCache();
// Store image to default external storage directory
Uri bmpUri = null;
File file;
try {
File dir = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getPath() + "/" + getString(R.string.app_name) + "/");
dir.mkdirs();
String fileName = "/" + System.currentTimeMillis() + "share_image.png";

if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
file = new File(dir, fileName);
} else {
file = new File(getExternalFilesDir(Environment.DIRECTORY_PICTURES), "share_image_" + System.currentTimeMillis() + ".png");
}

FileOutputStream out = new FileOutputStream(file);
bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
out.close();
bmpUri = Uri.fromFile(file);
} catch (IOException e) {
e.printStackTrace();
}
return bmpUri;
}




Xml


<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/parent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:layoutDirection="ltr"
android:eek:rientation="vertical"
tools:context=".MainActivity">

<RelativeLayout
android:id="@+id/relativeLayout7"
android:layout_width="1280dp"
android:layout_height="55dp"
android:layout_gravity="center_horizontal|center_vertical"
android:background="@color/colorPrimary"
android:gravity="center_horizontal|center_vertical"
android:layoutDirection="rtl"
android:eek:rientation="horizontal"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">

<TextView
android:id="@+id/level_number"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_marginTop="2dp"
android:textColor="@color/white"
android:textSize="18sp"
android:textStyle="bold"
tools:ignore="RtlCompat" />

<ProgressBar
android:id="@+id/progressBar"
style="?android:attr/progressBarStyleHorizontal"

android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/level_number"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:layout_marginRight="10dp"
android:layout_marginBottom="5dp"
android:layout_toStartOf="@+id/score"
android:layout_toLeftOf="@+id/score"
android:layout_toEndOf="@+id/questionNumber"
android:layout_toRightOf="@+id/questionNumber"
android:gravity="center_vertical|center_horizontal"
android:max="10"
android:progress="10"
android:progressDrawable="@drawable/circular_progress_bar2" />

<TextView
android:id="@+id/questionNumber"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_marginStart="1dp"
android:layout_marginTop="1dp"
android:layout_marginRight="1dp"
android:background="@drawable/item_background"
android:gravity="center_horizontal|center_vertical"
android:paddingLeft="20dp"
android:paddingTop="10dp"
android:paddingRight="20dp"
android:paddingBottom="10dp"
android:text="0 / 0"
android:textColor="@color/colorAccent"
android:textSize="20sp"
tools:ignore="RtlCompat" />


<TextView
android:id="@+id/score"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_marginLeft="1dp"
android:layout_marginEnd="1dp"
android:background="@drawable/item_background"
android:drawableEnd="@drawable/score"
android:drawablePadding="15dp"
android:gravity="center_horizontal|center_vertical"
android:paddingLeft="10dp"
android:paddingTop="10dp"
android:paddingRight="30dp"
android:paddingBottom="10dp"
android:text="0"
android:textColor="@color/colorAccent"
android:textSize="20sp"
tools:ignore="RtlCompat" />

</RelativeLayout>

<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_gravity="center_horizontal"
android:gravity="center_horizontal"
android:eek:rientation="vertical"
app:layout_constraintTop_toBottomOf="@+id/relativeLayout7"
tools:layout_editor_absoluteX="29dp">


<TextView
android:id="@+id/questionText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|center_horizontal"
android:gravity="center_vertical|center_horizontal"
android:paddingLeft="10dp"
android:paddingTop="5dp"
android:paddingRight="10dp"
android:paddingBottom="5dp"
android:scrollbars="vertical"
android:textColor="@color/textColor2"
android:textSize="20sp"
android:textStyle="bold" />
</LinearLayout>

<LinearLayout
android:id="@+id/linearLayout4"
android:layout_width="631dp"
android:layout_height="345dp"
android:layout_gravity="center_vertical|center_horizontal"

android:layout_weight="1"
android:gravity="center_vertical|center_horizontal"
android:eek:rientation="vertical"
app:layout_constraintBottom_toTopOf="@+id/done"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout3"
app:layout_constraintVertical_bias="0.104">

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/answerGridview"
android:layout_width="406dp"
android:layout_height="123dp"
android:layout_gravity="center"
android:layout_margin="5dp"
android:columnWidth="40dp"
android:gravity="center"
android:horizontalSpacing="4dp"
android:padding="4dp"
android:scrollbars="none"
android:verticalSpacing="4dp" />



<Button
android:id="@+id/reveal"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="2dp"
android:layout_weight="1"
android:background="@drawable/border_background"
android:drawableLeft="@drawable/reveal"
android:drawablePadding="-5dp"
android:padding="5dp"
android:text="@String/show_answer"
android:textAllCaps="false"
android:textColor="@color/colorAccent" />

<ImageButton
android:id="@+id/reset"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center_horizontal"
android:layout_margin="2dp"
android:background="@drawable/reset_skip_background"
android:padding="10dp"
android:scaleType="centerInside"
android:src="@drawable/reset" />

<ImageButton
android:id="@+id/skip"
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_gravity="center_horizontal"
android:layout_margin="2dp"
android:background="@drawable/reset_skip_background"
android:padding="10dp"
android:scaleType="centerInside"
android:src="@drawable/skip" />


<Button
android:id="@+id/ask"
android:layout_width="139dp"
android:layout_height="615dp"
android:layout_margin="2dp"
android:layout_weight="1"
android:background="@drawable/border_background"
android:drawableRight="@drawable/friends"
android:padding="5dp"
android:text="@String/askfriends"
android:textAllCaps="false"
android:textColor="@color/colorAccent" />



<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"

android:eek:rientation="vertical">

<androidx.recyclerview.widget.RecyclerView
android:id="@+id/choicesGridview"
android:layout_width="405dp"
android:layout_height="127dp"
android:layout_gravity="center"
android:layout_margin="5dp"
android:columnWidth="40dp"
android:gravity="center"
android:padding="4dp"
android:scrollbars="none"

/>

</LinearLayout>
</LinearLayout>

<com.google.android.gms.ads.AdView
android:id="@+id/adView"
android:layout_width="1268dp"
android:layout_height="91dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="4dp"
app:adSize="SMART_BANNER"
app:adUnitId="@String/admob_banner_unit_id"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />

<Button
android:id="@+id/done"
android:layout_width="1276dp"
android:layout_height="76dp"
android:background="@drawable/pressed_no_corners"
android:text="@String/done"
android:textAllCaps="false"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintBottom_toTopOf="@+id/adView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent" />

<ImageButton
android:id="@+id/voiceImage"
android:layout_width="120dp"
android:layout_height="66dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_gravity="center_horizontal"

android:alpha="0.6"
android:background="@drawable/border_background"

android:padding="10dp"
android:scaleType="centerInside"
android:src="@drawable/ic_speaker"
android:visibility="gone"
app:layout_constraintBottom_toTopOf="@+id/questionImage"
app:layout_constraintEnd_toStartOf="@+id/linearLayout4"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout3" />

<com.google.android.material.imageview.ShapeableImageView
android:id="@+id/questionImage"
android:layout_width="500dp"
android:layout_height="250dp"
android:layout_alignParentTop="true"
android:layout_gravity="center_horizontal"
android:layout_margin="10dp"
android:layout_marginTop="45dp"
android:layout_marginEnd="139dp"
android:layout_marginBottom="277dp"
android:adjustViewBounds="true"
android:gravity="center_horizontal"
android:maxHeight="250dp"
android:scaleType="centerCrop"
app:layout_constraintBottom_toTopOf="@+id/done"
app:layout_constraintEnd_toStartOf="@+id/linearLayout4"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/linearLayout3"
app:shapeAppearanceOverlay="@Style/ShapeAppearanceOverlay.App.CornerSize50Percent" />

</androidx.constraintlayout.widget.ConstraintLayout>



I get this error when I try to convert LinearLayout ConstraintLayout.
I changed the Java Class to ConstraintLayout, still getting the same error

  • Question Question
Help IDK

I have no idea what this is doing on all my devices or what it is...the files I wanted to add are too big. Thia caused my Moto Stylus 5G to brick and my Samsung A20 is barely functional with the 200+ files daily and frequent restarts...please help me figure out what it is and how to remove it.






Art
VM Version: 2.1.0
Java Home: /system
Class Path: .
Boot Class Path: /apex/com.android.runtime/javalib/core-oj.jar:/apex/com.android.runtime/javalib/core-libart.jar:/apex/com.android.runtime/javalib/okhttp.jar:/apex/com.android.runtime/javalib/bouncycastle.jar:/apex/com.android.runtime/javalib/apache-xml.jar:/system/framework/framework.jar:/system/framework/ext.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/knoxsdk.jar:/system/framework/knoxanalyticssdk.jar:/system/framework/smartbondingservice.jar:/system/framework/securetimersdk.jar:/system/framework/fipstimakeystore.jar:/system/framework/timakeystore.jar:/system/framework/sec_sdp_sdk.jar:/system/framework/sec_sdp_hidden_sdk.jar:/system/framework/drutils.jar:/system/framework/android.test.base.jar:/system/framework/ucmopensslenginehelper.jar:/system/framework/esecomm.jar:/apex/com.android.conscrypt/javalib/conscrypt.jar:/apex/com.android.media/javalib/updatable-media.jar

Attachments

Duplicate class javax.activation.ActivationDataFlavor found in modules

//build.gradle(app)
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'kotlin-kapt'
id 'androidx.navigation.safeargs.kotlin'

}

android {
namespace 'ug.ac.pentecostalcollege23.testcontact'
compileSdk 33

defaultConfig {
applicationId "ug.ac.pentecostalcollege23.testcontact"
minSdk 21
targetSdk 33
versionCode 1
versionName "1.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures {
viewBinding true
}
}

//configurations {
// cleanedAnnotations
// implementation.exclude group: 'org.jetbrains' , module:'annotations'
//}
configurations {
// cleanedAnnotations {
// transitive = false
// }
cleanedAnnotations
// implementation.exclude group: 'org.jetbrains' , module:'annotations'
runtimeClasspath {
exclude module: 'javax.activation'
}
}

dependencies {

implementation('com.intellij:annotations:12.0') {
exclude group: 'org.jetbrains', module: 'annotations'
}
cleanedAnnotations 'org.jetbrains:annotations:13.0'

implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.5.0-alpha04'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
//Navigation
implementation 'androidx.navigation:navigation-fragment-ktx:2.6.0'
implementation 'androidx.navigation:navigation-ui-ktx:2.6.0'
implementation 'androidx.navigation:navigation-safe-args-gradle-plugin:2.5.0'
//Room
kapt 'androidx.room:room-compiler:2.5.0'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.0'
implementation 'androidx.room:room-ktx:2.5.0'
implementation 'androidx.room:room-runtime:2.5.0'
//Test
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'


}

build.gradle(Testcontact)

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
dependencies {
classpath 'androidx.navigation:navigation-safe-args-gradle-plugin:2.5.0'

}
}
plugins {
id 'com.android.application' version '7.3.1' apply false
id 'com.android.library' version '7.3.1' apply false
id 'org.jetbrains.kotlin.android' version '1.8.20' apply false
}
I want to use
in modules only jakarta.activation-api-1.2.1 (jakarta.activation:jakarta.activation-api:1.2.1) and ex clude javax.activation-1.2.0 (com.sun.activation:javax.activation:1.2.0)

  • Suggestion Suggestion
Would Affiliate Links be a Good way for the Forum to Make Money?

Would affiliate links be a good way for the forum to make money? For example, say the word "AdGuard" appears in a post. That could automatically turn into a link to the AdGuard website, via the forum's affiliate link (I've included my own affiliate link to show what this would look like). That would both make money for the forum, and give readers an easy way to the website of what's being referred to (AdGuard in this case).

  • Suggestion Suggestion
Rename "Gaming" section to "Video-games"?

In my opinion: the "Gaming" section of the forum should be renamed "Video-games"? "Gaming" (and "gamer") is jargon, slang. The standard English term is "video-game", and that's the term people are more likely to understand. This is especially important if we want this forum to speak to a worldwide audience, and not just people who speak English as their first language.

Need some help with hooking NFC

Hey All!
Im working on my first Magisk Module; a "Minimal-NFC-Framework Magisk Module"; for NFC devs and Researchers. The goal here is to have a cross-compatible and customizable NFC framework that contains a hook and some other useful NFC related dev tools (I.e NFCGate, but its own hook isn't working correctly on some devices, part of why i want to make a more compatible hook). Currently I've got the NXP SNxxxU series controllers supported, with plans to add the rest of NXP's stuff if/when someone reports it as needed, Likewise with all other NFC controllers and their framework/firmware. My Github repo for this project can be found here. You can see I've got a pretty good start already. I am having to reverse engineer my way through all of this as I can not find too much documentation on it. Please share any docs you may find too that may help!

So Hurdle #1 -->I optimally need to sort out a way to hook NFC in a similar way to xHook (The hook NFCGate uses), I have not messed with hooking before so need some good advice/guides/templates or prebuilt solutions.
Requirements for hook?
1- Support for android 10-13
2- ???

Hurdle #2 --> Need to identify the most common NFC controllers used on other devices so i can collect/source all the needed componets/files/libs/etc
Hurdle #3 --> Figure out a way to dynamically detect and mount the correct init/firmware & config files for the NFC controller on each individual device.

If you think you could help with this I want to hear from you! Even the smallest advice could be what I was missing!
Find me on any TG/Discord/Twitter
@k0mraid3

Filter

Back
Top Bottom