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

Recovering text messages from 3 or 4 years ago?

No, if you don't have a backup of your own they are gone.

Technically messages only need to be stored on a server until they are delivered (up to some maximum time). Once that it done they are deleted. Many people would not regard it as desirable for the carrier to keep a copy of their personal communications.

In some countries the carrier may be required by law to keep the messages (or at least records of who messages were exchanged between) for some period of time after delivery in case the police or security services turn up with a warrant. But that doesn't necessarily mean that they'll release a copy of the message to the phone user even if they have it somewhere. And the records will be deleted once the statutary period expires, because storing them costs money and the company receives no benefit from doing so.

In the case of ATT they say that they keep the records of who messages were sent to/received by and when for some period, but don't store the message content at all. So in principle you could get the phone number, but 3-4 years is probably too long in the past. I've seen a message that you can log into your ATT account and look for text logs in your usage section, but that the record will only go back 16 months (I'm not an ATT customer so can't verify any of that).

Linux for Mobile? How good is it, and does it give the Android experience?

I have heard of postmarketOS. It gives both a desktop/android experience as shown in its wiki
Perhaps, but that doesn't necessarily make it the Linux-Android hybrid I'm hoping for.

#1: Can it run Android apps? That's the most important thing. Windows, to it's credit, can do that.

#2: Does it have the Android/iOS style swiping and launcher? Windows doesn't, it has it's own swiping system and lacks a tablet-style launcher.

#3: Can the Google Play store be installed onto it? It can't on Windows.

#4: Does it have the desktop-style minimize/maximize/close buttons at the upper left? Windows does, and that makes it poorly suited as a tablet OS, because it's easy to press the close button by mistake.

Bromite browser still maintained?

so after doing some research looks like the dev who is now doing the project is called uazo and he is still doing test versions. he just posted one from 2 weeks ago.

and you can follow the discussion over at xda:
just jump to somewhere around page 130 or so.

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

Is there a forum for Maps.me?

Thanks for the information. I tried 3601 Plymouth Rd (rather than 3600) and Maps.me found that. 3600 is a building housing two rental car agencies, etc., which Google Maps is able to find. I see now it's helpful to try other nearby street numbers in hopes that Maps.me/Open Street Maps lists those.

I'm interested that you use OSMand+; I think I will give that (or OSMand) a try.

Help I accidentally removed "Samsung_default" under User Certificates. How can I retrieve it?

Accidentally removing "Samsung_default" user credentials can have consequences. It's a default security certificate used for authentication and encryption. To restore it, go to Biometric and security > Other security settings > User Certificates, and look for an option to import or install certificates. If it's not available, contact Samsung support for assistance.

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

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)

+1 in messages

If that +1 was part of the phone number that would be less puzzling but being part of your name is odd. It's not likely to be something to eliminate on your end (not your phone nor your carrier-based phone number) but something that needs to be done on the receiver end. Either some otherwise random setting in your friend's Contacts app (your name in their contacts list) or whatever text messaging app they're using.
If everyone or at least several other people you exchange text messages with also see a +1 with your name I.D. than that could indicate it was on your end, but since your friend is encountering this issue with another person too it's more likely to be something they need to fix. Ask them to look closely in their Contacts app listing to see if their are any odd characters that might might have been inadvertently added to your name and that other person's name. It could be an issue where their text messaging app is just substituting that odd character with a +1.

Payment Gateway Integration using PhonePe

Are your issues solved and you have successfully integrated phone pay in your app? I also need help in the concerned issue. Please reply if you have found solution. My mail I'd for your reference - utsavthalor26022004@gmail.com
Hello

I am facing issues while integrating PhonePe payment gateway in my android application. I used PhonePe PG SDK but the SDK not doesn't have the two classes named , "PaymentInstrument" & "DeviceContext".

Next I want to know how to get AppId and Salt key, when I logged in into PhonePe Business App, I didn't get them. And I have already registered to PhonePe PaymentGateway, but then also I didn't get.

And there is no proper documentation for SDKLess PhonePe Integration using intents.

Filter

Back
Top Bottom