Opening Android Notifications programmatically - android

Is there any possibility to open Notifications Menu in my app? I'm looking for solution similar to one below that opens System Settings side bar:
startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS), 0);

I've found solution, looks like sample below does the work. However I couldn't find any documentation about com.android.tv.NOTIFICATIONS_PANEL action.
Intent notificationIntent = new Intent("com.android.tv.NOTIFICATIONS_PANEL");
startActivity(notificationIntent);

I think you may want to try using toasts or notification-android-tv.
Also, do take note that:
notification will appear just as recommendations and not as
"notification"
For further info, you can refer to this SO post.

Related

Opening Do Not Disturb preferences in Oreo

I'm having troubles opening system DND preferences from my App so that user can create or edit Automatic Time rule.
Current situation
Our app already has a similar feature which disables App-notification LED, sound and vibration for some specific time period (for example between 10pm-8am) and is applied app-wide. As of Android Oreo, our feature doesn't work anymore because of Notification Channels. The only solution is, as far as I understand, to create in System preferences Automatic Time rule which is then applied system-wide.
What I want to do?
Just to redirect Oreo user from my app to System preferences ie. Do Not Disturb preferences in order to add or edit Time rule.
The problem
There is no specific Intent which opens Do Not Disturb preferences. The closest one I could find was Settings.ACTION_ZEN_MODE_PRIORITY_SETTINGS which leads me to this Preference screen. I also found action which I exactly need, but as you can see, it is hidden by annotation.
Does this mean there is no way to open this Preference screen and I should use another approach?
I also had this question for a long time, now I finally found the solution that works for me:
Java
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.android.settings", "com.android.settings.Settings$ZenModeSettingsActivity"));
startActivity(intent);
Kotlin
val intent = Intent()
intent.component = ComponentName("com.android.settings", "com.android.settings.Settings\$ZenModeSettingsActivity")
startActivity(intent)
If you take a look at the AndroidManifest.xml for the Settings app you can see that there is an Activity Settings$ZenModeSettingsActivity (as mentioned by #cyb3rko in https://stackoverflow.com/a/63713587/467650) already from Android 5.0.
To send the user to the "Do not disturb" screen you can use the action android.settings.ZEN_MODE_SETTINGS like this:
try {
startActivity(new Intent("android.settings.ZEN_MODE_SETTINGS"));
} catch (ActivityNotFoundException e) {
// TODO: Handle activity not found
}
I would expect the intent filter to be even more stable than the class name.

Open Apps Widgets screen Android

How to open the Apps | Widget screen?
I mean this screen
Got the issue, basically all you have to do is make an intent that chooses this.
Intent homeScreenIntent = new Intent(Intent.ACTION_MAIN);
homeScreenIntent.addCategory(Intent.CATEGORY_LAUNCHER);
homeScreenIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(homeScreenIntent);
Hope it helps.
Won't recommend but seems one of this will work but be careful:
moveTaskToBack(true) // Pushes the activity in stack to back.
and
finish() // Kills the app
Reference: Dev blog

What is the Intent to call "Choose screen lock" screen?

I cant find any refrence to call the Intent screen "Choose screen lock".
Cant find anything?
Any idea?
You can call action DevicePolicyManager.SET_NEW_PASSWORD to send user to lock screen settings fragment (firstly he will have to type current password/pattern for secure lock types):
Intent intent = new Intent(DevicePolicyManager.ACTION_SET_NEW_PASSWORD);
startActivity(intent);
There is none. You can view all possible Intents in android's source code: https://github.com/android/platform_packages_apps_settings/blob/master/AndroidManifest.xml
EDIT:
It turns out that this had been added in Version 2.2 of Android.
Please ee pleczko's answer below.
Before Android 2.2 there is no intent to do this.

How jump to Widget Activity of Android's Setting?

I want to click a button to jump to AppWidget of Android's Setting with intent or broadcast, but i don't find Intent.ACTION_XXX to Widget Activity.I try ComponentName but i don't know which package can complete this action. if intent is can't complete this action, can i use broadcasting to complete this action?
Who can tell me how jump to the appwidget of android's setting? Thanks.
It's not really clear what you mean by Settings widget. If it's the Android settings screen that you want, this should do it.
startActivityForResult(new Intent(android.provider.Settings.ACTION_SETTINGS, 0));
Don't forget to vote up if you find this helpful ;)

Android About page

How to open Settings>About page programmaticlly in Android.
You can open it by simply using an Intent
Intent aboutPhone = new Intent(Settings.ACTION_DEVICE_INFO_SETTINGS);
startActivity(aboutPhone);
As in Android there are many Settings classes and here it would be :
android.provider.Settings
Looks like this is as close as you can get
Intent i = new Intent(Settings.ACTION_SETTINGS);
startActivity(i);
Takes you to the main settings page. There doesn't seem to be an option to go to the About Phone page.
Short answer you can't .
Long answer all you can do is create an activity and show all the info from about page in your activity by problematically polling out the info from the system

Categories

Resources