• 0 Posts
  • 21 Comments
Joined 1 year ago
cake
Cake day: June 9th, 2023

help-circle



  • No actual technical solution here, but it smells slightly of XY-Problems.

    From what you described it seems the main issues are

    • too many calls
    • not knowing who’s calling
    • not wanting to answer the phone
    • not reaching the phone in time

    Maybe you could look into solutions like setting a custom ringtone for important callers or having the phone announce caller names so your mother can decide if she wants to make the effort to get her phone.

    I’m speculating a bit here but I can imagine that getting up and answering the phone is exhausting for your mother. Also if her mindset is " a ringing phone means it’s important" that could make it even more stressful.

    Maybe you could find a way to let her silence all calls except caregivers and ICE contacts. (On Android DND exceptions could work for that)

    That way she doesn’t feel pressured to answer the phone every time it rings and stays reachable.

    If it’s actually just the physical issue of reaching the phone in time, does she have a convenient way to carry the phone indoors like a lanyard?

    Hope some of this helps you















  • I built a custom app to do it since I couldn’t manage to fire the relevant intents from an adb shell without root.

    I lifted the code from AAAD

    Specifically the InstallAPK method in MainActivity.java

    Intent intent;
    
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
                    intent = new Intent(Intent.ACTION_INSTALL_PACKAGE);
                    intent.setData(getUri(file));
                    intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_ACTIVITY_NEW_TASK);
                } else {
                    intent = new Intent(Intent.ACTION_VIEW);
                    intent.setDataAndTypeAndNormalize(Uri.fromFile(file), "application/vnd.android.package-archive");
                    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                }
    
                intent.putExtra(Intent.EXTRA_NOT_UNKNOWN_SOURCE, true);
                intent.putExtra(Intent.EXTRA_INSTALLER_PACKAGE_NAME, "com.android.vending");
                getApplicationContext().startActivity(intent);
            } 
    
    

    Basically you construct an Intent ACTION_INSTALL_PACKAGE with data pointing to the APK file and the extras EXTRA_NOT_UNKNOWN_SOURCE=true and EXTRA_INSTALLER_PACKAGE_NAME="com.android.vending" which tells the installer that this APK is not sideloaded and it’s the play store asking to install it.

    You might still need to enable unknown sources in Android Auto developer settings (separate from phone developer settings).

    If I remember, I’ll try to pull the code for my app from my PC and post it.