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

NW-Chat announcement

The best and easiest solution for you who wants to have a chat on your website.
The best and easiest solution for you who wants to have a chat on your website.
Setting up a chat can be very complex and expensive.
But with this chat solution, no technical knowledge is required at all and it's only a one-time cost.
Instructions:
1. Buy and download this app.
2. Launch the app and register a new account.
3. Receive an email with the script for the chat.
4. Copy and paste the script onto your website.
5. Everything is ready and you can now chat with your visitors
It's that easy :)
Now your visitors can start chatting with you directly to your mobile.
When a visitor clicks on the chat, a notification will be sent to your mobile saying that someone wants to chat.
You will now never miss a chance at an affair or the opportunity to help a customer / visitor.
Features:
- Chat.
- Mailform.
- Settings for username, chat colors and texts.
- Multi language support for Swedish and English.
In the app there's a tab for settings, where you can customize the chat the way you want it. You can choose if you are available to chat. If you are not available to chat, an mailform will appear instead. Where the visitor is allowed to leave their e-mail address and a message. This will send an e-mail to the e-mail address specified in your settings.
You can also customize the chat colors and texts.

https://play.google.com/store/apps/details?id=org.nixonsworld.nwchat

Try the chat at my own site:
https://nixonsworld.org/nw-chat
See ya :)

Attachments

  • Screenshot_20190727-000239.png
    Screenshot_20190727-000239.png
    93.3 KB · Views: 85
  • Screenshot_20190730-205553.png
    Screenshot_20190730-205553.png
    213.8 KB · Views: 82
  • Screenshot_20190730-205706.png
    Screenshot_20190730-205706.png
    63.5 KB · Views: 69

Too many files in new Project

Hello, I'm trying to learn with Android Studio via course from Udemy.
In this course, when the guy opens a new project, he has only 5 folders/files in explorer. (shown on picture).
But when I try to do THE SAME THING I have 14 folders/files which is very annoying.

He uses Android Studio 3.0.1 and so do I.

Does anyone know how can I achieve only those files instead of 14?

Thanks for answer.

kurz.png studio.png

With a chain of work, each chain is executed many times and the first is ahead of the second

Here is the log with logcat:
Code:
08-02 19:54:05.004 118-1352/? I/GraphicBuffer: allocate buffer (w:480 h:800 f:5) err(0)
08-02 19:54:05.005 118-1352/? I/BufferQueue: [com.example.app1/com.example.app1.MainActivity] createGraphicBuffer before(NULL) after(0x41c561b8, handle=0x41c54f88, w=480, h=800, f=5)
08-02 19:54:05.012 12136-12136/com.example.app1 E/tag1: 1564692071288
08-02 19:54:05.012 12136-12136/com.example.app1 E/tag1: 1564692142434
08-02 19:54:05.012 12136-12136/com.example.app1 E/tag1: 1564691977054
08-02 19:54:05.012 12136-12136/com.example.app1 E/tag1: 1564692137410
08-02 19:54:05.013 12136-12136/com.example.app1 E/tag1: 1564692085695
08-02 19:54:05.013 12136-12136/com.example.app1 E/tag1: 1564692113982
08-02 19:54:05.015 12136-12136/com.example.app1 E/tag1: 1564691972016
08-02 19:54:05.015 12136-12136/com.example.app1 E/tag1: 1564692066231
08-02 19:54:05.015 12136-12136/com.example.app1 E/tag1: 1564692080662
08-02 19:54:05.015 12136-12136/com.example.app1 E/tag1: 1564692108958
08-02 19:54:05.019 118-1352/? I/SurfaceFlinger: [bool android::LayerBase::setFlagsEx(uint32_t, uint32_t)] (com.example.app1/com.example.app1.MainActivity) api:1, flags:0x00000000, mask:0x00000000
08-02 19:54:05.019 118-1352/? W/SurfaceFlinger:     nothing to do with mask 0x00000000
08-02 19:54:05.021 376-407/? I/ActivityManager: [AppLaunch] Displayed Displayed com.example.app1/.MainActivity: +867ms
08-02 19:54:05.027 12136-12136/com.example.app1 E/tag2: 1564692071288
08-02 19:54:05.027 12136-12136/com.example.app1 E/tag2: 1564692142434
08-02 19:54:05.029 12136-12136/com.example.app1 E/tag2: 1564691977054
08-02 19:54:05.031 12136-12136/com.example.app1 E/tag2: 1564692137410
08-02 19:54:05.032 12136-12136/com.example.app1 E/tag2: 1564692085695
08-02 19:54:05.035 12136-12136/com.example.app1 E/tag2: 1564692113982
08-02 19:54:05.035 12136-12136/com.example.app1 E/tag2: 1564691972016
08-02 19:54:05.035 12136-12136/com.example.app1 E/tag2: 1564692066231
08-02 19:54:05.037 12136-12136/com.example.app1 E/tag2: 1564692080662
08-02 19:54:05.037 12136-12136/com.example.app1 E/tag2: 1564692108958
08-02 19:54:05.050 118-118/? I/SurfaceFlinger: [bool android::LayerBase::setFlagsEx(uint32_t, uint32_t)] (Starting com.example.app1) api:2, flags:0x00000000, mask:0x00000000
08-02 19:54:05.050 118-118/? W/SurfaceFlinger:     nothing to do with mask 0x00000000
08-02 19:54:05.053 118-392/? I/BufferQueue: [Starting com.example.app1] disconnect: api=2
08-02 19:54:05.054 118-392/? I/SurfaceTexture: [Starting com.example.app1] [virtual void android::SurfaceTexture::onBuffersReleased()] mCurrentTexture:0, mCurrentBuf:0x41c4dae8
08-02 19:54:05.054 118-392/? I/BufferQueue: [Starting com.example.app1] getReleasedBuffers: returning mask 0xffffffff
08-02 19:54:05.064 118-219/? I/BufferQueue: [Starting com.example.app1] consumerDisconnect
08-02 19:54:05.064 118-219/? I/BufferQueue: [Starting com.example.app1] ~BufferQueue
08-02 19:54:05.069 118-10991/? I/GraphicBuffer: allocate buffer (w:480 h:800 f:5) err(0)
08-02 19:54:05.070 118-10991/? I/BufferQueue: [com.example.app1/com.example.app1.MainActivity] createGraphicBuffer before(NULL) after(0x41c567d8, handle=0x41c44b10, w=480, h=800, f=5)
08-02 19:54:05.582 459-459/? I/SurfaceTextureClient: [0x536b7260] frames:2, duration:1.507000, fps:1.327120
08-02 19:54:05.685 376-406/? I/AlarmManager: reset poweroff alarm none
08-02 19:54:05.712 12136-12156/com.example.app1 E/APP: doWork
08-02 19:54:05.721 12136-12150/com.example.app1 I/WM-WorkerWrapper: Worker result SUCCESS for Work [ id=8cba8fd0-795f-4834-882e-e42a84f2ffd9, tags={ com.example.app1.UploadWorker, tag1, tag2 } ]
08-02 19:54:05.726 12136-12150/com.example.app1 I/WM-WorkerWrapper: Setting status to enqueued for 38ec5c1e-34da-4106-9623-d71c1cfdab14
08-02 19:54:05.764 12136-12136/com.example.app1 E/tag1: 1564692071288
08-02 19:54:05.765 12136-12136/com.example.app1 E/tag1: 1564692142434
08-02 19:54:05.765 12136-12136/com.example.app1 E/tag1: 1564691977054
08-02 19:54:05.765 12136-12136/com.example.app1 E/tag1: 1564692137410
08-02 19:54:05.766 12136-12136/com.example.app1 E/tag1: 1564692085695
08-02 19:54:05.766 12136-12136/com.example.app1 E/tag1: 1564692113982
08-02 19:54:05.766 12136-12136/com.example.app1 E/tag1: 1564691972016
08-02 19:54:05.766 12136-12136/com.example.app1 E/tag1: 1564692066231
08-02 19:54:05.767 12136-12136/com.example.app1 E/tag1: 1564692080662
08-02 19:54:05.767 12136-12136/com.example.app1 E/tag1: 1564692108958
08-02 19:54:05.797 12136-12136/com.example.app1 E/tag2: 1564692071288
08-02 19:54:05.797 12136-12136/com.example.app1 E/tag2: 1564692142434
08-02 19:54:05.798 12136-12136/com.example.app1 E/tag2: 1564691977054
08-02 19:54:05.798 12136-12136/com.example.app1 E/tag2: 1564692137410
08-02 19:54:05.798 12136-12136/com.example.app1 E/tag2: 1564692085695
08-02 19:54:05.798 12136-12136/com.example.app1 E/tag2: 1564692113982
08-02 19:54:05.798 12136-12136/com.example.app1 E/tag2: 1564764845710
08-02 19:54:05.798 12136-12136/com.example.app1 E/tag2: 1564691972016
08-02 19:54:05.798 12136-12136/com.example.app1 E/tag2: 1564692066231
08-02 19:54:05.798 12136-12136/com.example.app1 E/tag2: 1564692080662
08-02 19:54:05.798 12136-12136/com.example.app1 E/tag2: 1564692108958
08-02 19:54:05.799 12136-12136/com.example.app1 E/tag1: 1564692071288
08-02 19:54:05.799 12136-12136/com.example.app1 E/tag1: 1564692142434
08-02 19:54:05.799 12136-12136/com.example.app1 E/tag1: 1564691977054
08-02 19:54:05.799 12136-12136/com.example.app1 E/tag1: 1564692137410
08-02 19:54:05.799 12136-12136/com.example.app1 E/tag1: 1564692085695
08-02 19:54:05.799 12136-12136/com.example.app1 E/tag1: 1564692113982
08-02 19:54:05.799 12136-12136/com.example.app1 E/tag1: 1564764845710
08-02 19:54:05.800 12136-12136/com.example.app1 E/tag1: 1564691972016
08-02 19:54:05.800 12136-12136/com.example.app1 E/tag1: 1564692066231
08-02 19:54:05.800 12136-12136/com.example.app1 E/tag1: 1564692080662
08-02 19:54:05.800 12136-12136/com.example.app1 E/tag1: 1564692108958
08-02 19:54:05.827 118-219/? I/SurfaceFlinger: [SurfaceFlinger] frames:7, duration:1.004000, fps:6.967839
08-02 19:54:07.090 459-459/? I/SurfaceTextureClient: [0x536b7260] frames:2, duration:1.507000, fps:1.327123
08-02 19:54:07.106 118-219/? I/SurfaceFlinger: [SurfaceFlinger] frames:2, duration:1.278000, fps:1.564302
08-02 19:54:07.997 376-391/? I/KeyguardUpdateMonitor: ACTION_BATTERY_CHANGED, status=2,plugged=2, level=78, health=2
08-02 19:54:08.597 459-459/? I/SurfaceTextureClient: [0x536b7260] frames:2, duration:1.506000, fps:1.327154
08-02 19:54:08.613 118-219/? I/SurfaceFlinger: [SurfaceFlinger] frames:2, duration:1.507000, fps:1.327119
08-02 19:54:09.138 459-459/? I/StateTracker: com.android.systemui.statusbar.toolbar.QuickOperationItemPanel$AirlineModeStateTracker@41687828setImageViewResources state is 0
08-02 19:54:09.138 459-459/? I/StateTracker: com.android.systemui.statusbar.toolbar.QuickOperationItemPanel$AirlineModeStateTracker@41687828 mIsUserSwitching is false
08-02 19:54:09.139 459-459/? I/StateTracker: com.android.systemui.statusbar.toolbar.QuickOperationItemPanel$AirlineModeStateTracker@41687828 mIsUserSwitching is false
08-02 19:54:09.139 459-459/? I/StateTracker: com.android.systemui.statusbar.toolbar.ConnectionSwitchPanel$AirlineModeStateTracker@416a0978setImageViewResources state is 0
08-02 19:54:09.140 459-459/? I/StateTracker: com.android.systemui.statusbar.toolbar.ConnectionSwitchPanel$AirlineModeStateTracker@416a0978 mIsUserSwitching is false
08-02 19:54:09.147 459-459/? I/StateTracker: com.android.systemui.statusbar.toolbar.ConnectionSwitchPanel$AirlineModeStateTracker@416a0978 mIsUserSwitching is false
08-02 19:54:09.147 376-788/? E/CellLocation: create GsmCellLocation
08-02 19:54:09.150 376-391/? E/CellLocation: create GsmCellLocation
08-02 19:54:09.153 376-391/? E/CellLocation: create GsmCellLocation
08-02 19:54:09.156 523-523/? I/CallNotifier: PhoneStateListener.onServiceStateChanged: serviceState=SIM1 0 home Tele2 Tele2 25020  HSPA CSS not supported -1 -1 RoamInd=-1 DefRoamInd=-1 EmergOnly=false Regist state: 1
08-02 19:54:09.433 129-129/? W/MtkAgps: ** mtk_agps_update_cinfo(): imsi(250207413982106) mcc(250) mnc(20) lac(27874) cid(3454224)**
08-02 19:54:09.433 129-129/? W/MtkAgps:    -> update cell info: mcc(250)->(250) mnc(20)->(20) lac(27874)->(27874) cid(3454223)->(3454224)
08-02 19:54:09.433 129-129/? I/MtkAgps:      -> update supl_p: mcc(250) mnc(20) ucid(3454224), status(1)
08-02 19:54:10.104 459-459/? I/SurfaceTextureClient: [0x536b7260] frames:2, duration:1.507000, fps:1.327078
08-02 19:54:10.120 118-219/? I/SurfaceFlinger: [SurfaceFlinger] frames:2, duration:1.507000, fps:1.327004
08-02 19:54:10.724 376-406/? I/AlarmManager: reset poweroff alarm none
08-02 19:54:10.762 12136-12136/com.example.app1 E/tag1: 1564692071288
08-02 19:54:10.763 12136-12136/com.example.app1 E/tag1: 1564692142434
08-02 19:54:10.763 12136-12136/com.example.app1 E/tag1: 1564691977054
08-02 19:54:10.764 12136-12136/com.example.app1 E/tag1: 1564692137410
08-02 19:54:10.764 12136-12136/com.example.app1 E/tag1: 1564692085695
08-02 19:54:10.765 12136-12136/com.example.app1 E/tag1: 1564692113982
08-02 19:54:10.765 12136-12136/com.example.app1 E/tag1: 1564764845710
08-02 19:54:10.765 12136-12136/com.example.app1 E/tag1: 1564691972016
08-02 19:54:10.766 12136-12136/com.example.app1 E/tag1: 1564692066231
08-02 19:54:10.766 12136-12136/com.example.app1 E/tag1: 1564692080662
08-02 19:54:10.767 12136-12136/com.example.app1 E/tag1: 1564692108958
08-02 19:54:10.769 12136-12160/com.example.app1 E/APP: doWork
08-02 19:54:10.771 12136-12150/com.example.app1 I/WM-WorkerWrapper: Worker result SUCCESS for Work [ id=38ec5c1e-34da-4106-9623-d71c1cfdab14, tags={ com.example.app1.UploadWorker, tag1, tag2 } ]
08-02 19:54:10.776 12136-12136/com.example.app1 I/SurfaceTextureClient: [0x51df76e0] frames:5, duration:5.797000, fps:0.862438
08-02 19:54:10.856 12136-12136/com.example.app1 E/tag2: 1564692071288
08-02 19:54:10.856 12136-12136/com.example.app1 E/tag2: 1564692142434
08-02 19:54:10.857 12136-12136/com.example.app1 E/tag2: 1564764850767
08-02 19:54:10.857 12136-12136/com.example.app1 E/tag2: 1564691977054
08-02 19:54:10.858 12136-12136/com.example.app1 E/tag2: 1564692137410
08-02 19:54:10.858 12136-12136/com.example.app1 E/tag2: 1564692085695
08-02 19:54:10.858 12136-12136/com.example.app1 E/tag2: 1564692113982
08-02 19:54:10.859 12136-12136/com.example.app1 E/tag2: 1564764845710
08-02 19:54:10.859 12136-12136/com.example.app1 E/tag2: 1564691972016
08-02 19:54:10.860 12136-12136/com.example.app1 E/tag2: 1564692066231
08-02 19:54:10.860 12136-12136/com.example.app1 E/tag2: 1564692080662
08-02 19:54:10.861 12136-12136/com.example.app1 E/tag2: 1564692108958
08-02 19:54:10.910 12136-12136/com.example.app1 E/tag1: 1564692071288
08-02 19:54:10.911 12136-12136/com.example.app1 E/tag1: 1564692142434
08-02 19:54:10.911 12136-12136/com.example.app1 E/tag1: 1564764850767
08-02 19:54:10.912 12136-12136/com.example.app1 E/tag1: 1564691977054
08-02 19:54:10.912 12136-12136/com.example.app1 E/tag1: 1564692137410
08-02 19:54:10.913 12136-12136/com.example.app1 E/tag1: 1564692085695
08-02 19:54:10.913 12136-12136/com.example.app1 E/tag1: 1564692113982
08-02 19:54:10.914 12136-12136/com.example.app1 E/tag1: 1564764845710
08-02 19:54:10.914 12136-12136/com.example.app1 E/tag1: 1564691972016
08-02 19:54:10.914 12136-12136/com.example.app1 E/tag1: 1564692066231
08-02 19:54:10.915 12136-12136/com.example.app1 E/tag1: 1564692080662
08-02 19:54:10.915 12136-12136/com.example.app1 E/tag1: 1564692108958
08-02 19:54:11.611 459-459/? I/SurfaceTextureClient: [0x536b7260] frames:2, duration:1.507000, fps:1.327068
08-02 19:54:11.627 118-219/? I/SurfaceFlinger: [SurfaceFlinger] frames:5, duration:1.506000, fps:3.317970
08-02 19:54:13.118 459-459/? I/SurfaceTextureClient: [0x536b7260] frames:2, duration:1.507000, fps:1.327095
08-02 19:54:13.134 118-219/? I/SurfaceFlinger: [SurfaceFlinger] frames:2, duration:1.507000, fps:1.327057
08-02 19:54:14.627 459-459/? I/SurfaceTextureClient: [0x536b7260] frames:2, duration:1.509000, fps:1.325255
08-02 19:54:14.641 118-219/? I/SurfaceFlinger: [SurfaceFlinger] frames:2, duration:1.507000, fps:1.327107
08-02 19:54:14.737 376-413/? I/InputReader: Reconfiguring input devices.  changes=0x00000010
08-02 19:54:14.749 376-393/? I/ActivityManager: Start proc android.process.acore for broadcast com.android.providers.contacts/.PackageIntentReceiver: pid=12161 uid=10060 gids={3003, 1015, 1028}
08-02 19:54:14.780 12161-12161/? E/Trace: error opening trace file: No such file or directory (2)
08-02 19:54:14.786 562-562/? I/Launcher: setLoadOnResume
08-02 19:54:14.802 12161-12161/? I/ActivityThread: Pub com.android.voicemail: com.android.providers.contacts.VoicemailContentProvider
08-02 19:54:14.848 11639-11639/? I/AccountTypeManager: Received Intent:Intent { act=android.intent.action.PACKAGE_CHANGED dat=package:com.example.app1 flg=0x8000010 (has extras) }
08-02 19:54:14.848 11639-11657/? I/AccountTypeManager: loadAccountsInBackground()+
Code in MainActivity:
Java:
TextView [text = findViewById(R.id.text);

		Constraints constraints = new Constraints.Builder().setRequiresCharging(true).build();
		Data data = new Data.Builder().putString(KEY_NAME, "Mike").build();
		OneTimeWorkRequest.Builder uploadWordRequest = new OneTimeWorkRequest.Builder(UploadWorker.class)
				.setConstraints(constraints)
				.setBackoffCriteria(BackoffPolicy.EXPONENTIAL, 5, TimeUnit.SECONDS)
				.setInputData(data)
				.keepResultsForAtLeast(2, TimeUnit.SECONDS);

		OneTimeWorkRequest one = uploadWordRequest.setInitialDelay(1, TimeUnit.SECONDS).addTag("tag1").build();
		OneTimeWorkRequest two = uploadWordRequest.setInitialDelay(5, TimeUnit.SECONDS).addTag("tag2").build();

		WorkManager w = WorkManager.getInstance(getApplicationContext());
		w.beginWith(one).then(two).enqueue();

		LiveData<List<WorkInfo>> l = w.getWorkInfosByTagLiveData("tag1");
		l.observe(this, new Observer<List<WorkInfo>>() {
			@SuppressLint("SetTextI18n")
			@Override
			public void onChanged(List<WorkInfo> workInfos) {
				for(int i=0;i<workInfos.size(); i++) {
					if(workInfos.get(i).getState() == WorkInfo.State.SUCCEEDED) {
						text.setText("" + workInfos.get(i).getOutputData().getLong(KEY_NAME, 0));
						Log.e("tag1", "" + workInfos.get(i).getOutputData().getLong(KEY_NAME, 0));
					}
				}
			}
		});
		w.getWorkInfosByTagLiveData("tag2").observe(this, new Observer<List<WorkInfo>>() {
			@SuppressLint("SetTextI18n")
			@Override
			public void onChanged(List<WorkInfo> workInfos) {
				for(int i=0;i<workInfos.size(); i++) {
					if(workInfos.get(i).getState() == WorkInfo.State.SUCCEEDED) {
						text.setText("" + workInfos.get(i).getOutputData().getLong(KEY_NAME, 0));
						Log.e("tag2", "" + workInfos.get(i).getOutputData().getLong(KEY_NAME, 0));
					}
				}
			}
		});
UploadWorker.java:
Java:
package com.example.app1;

import android.content.Context;
import android.util.Log;

import androidx.annotation.NonNull;
import androidx.work.Data;
import androidx.work.Worker;
import androidx.work.WorkerParameters;

public class UploadWorker extends Worker {

	public UploadWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
		super(context, workerParams);
	}

	@NonNull
	@Override
	public Result doWork() {
		String key = "string1";
		Data ret = new Data.Builder().putLong(key, System.currentTimeMillis()).build();
		Log.e("APP", "doWork");
		return Result.success(ret);
	}
}
Why does the text not change 5 seconds after the application starts? It changes only once and this is not what I need!
You see that tag1 is ahead of tag2 which should not be. It is necessary that after a second the text is updated with the first value, and then after 4 seconds with a different value according to the logic of the code

Context Menu - controlling position

I have a problem with my context menus. The items sensitive to long-press are items in a ListView of file names. The context menu has 3 items:
Delete this file
Rename this file
Display file info

It works fine except when I long-press an item near the top of the screen. Since the context menu likes to position itself by default just above the item that was long-pressed, the context menu is vertically compressed for items near the top of the screen, and all three menu choices are not visible at once. They can be scrolled to get to all three, but I don't want the user to have to scroll the menu. I would like to override the default positioning of the context menu. I realize that by doing so I will be breaking the visual association between the item the user long-pressed and the actions to be performed by the menu selections. But I can compensate for that by including the name of the item long-pressed in the context menu header, so the user will still know what item he long-pressed. So I just need to know how to override the default positioning of a context menu. My context menu is created entirely by code (no xml) as follows:

Code:
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
  if (v == list) {
    AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo)menuInfo;
    {
        File f = new File(path.get(info.position));
        menu.setHeaderTitle(FileExplorer.zapExtension(f.getName()));
        menu.add(Menu.NONE,0,0,"Delete this file");
        menu.add(Menu.NONE,1,1,"Rename this file");
        menu.add(Menu.NONE,2,2,"Display file info");
     }
  }
}

firmware update?..

Hi,

brief history...

Inherited a samsung Galaxy ace with android 2.3.6 on it. worked all ok for text and calls for a couple of months and wifi did function, but didn't like downloading apps. 192MB internal storage. updated firmware via Kies (stayed on 2.3.6), but this basically zonked the phone 2 weeks after the update - boot screen loop.

Have just inherited a Samsung Galaxy S III mini (GT-I8200n) with android 4.2.2. 8GB internal storage - obviously more up to date.

It seems to work. I haven't used WiFi on it yet. I'm considering/weary about connecting to Kies and checking firmware, incase it bricks the phone again? 'why would I want to check for firmware updates on it'.....because.....firmware updates are always good.........right? what do you think...

What's the requirement to make a remote access app over internet?

Hi everyone, i'm willing to make an app to make remote access to android over internet. I'm not that familiar with android development but i'm studying right now for this.
I tried some solution like scrcpy but all needs to be locally and developers mode on and USB debugging on, apps like mobizen and teamviewer don't satisfy my needs. So i'm searching for ways to make on, even a simple one.
And of course i need some tips for the server side as well.

If this is not a topic for this forum let me know.

Purchasing a metro PC's Android for my drug addicted girlfriend....

Hello everyone, first off thanks in advance to anyone who has any good information on what I'm trying to figure out. Long story short my girlfriend of 6 years is going through alot rn. She's f***in up pretty bad and is even on the verge of losing me. She puts herself in some pretty dangerous situations and had been worrying me. She has no phone and is associating with people that I do not approve of. I want to help her by buying her a phone so she can at least have a phone in case of any emergency and so I can get a hold of her. My thing is, I'm willing to buy her a phone as long as I can fully monitor ALLQ activity. Does anyone know the best way to do this? It will be an Android that fits my budget from metro PCS. Nothing fancy. I'm not spending more than 120-140$. Since I'm purchasing the phone I will have access to it before her. So can install anything on the phone. I'd like whatever app or monitoring serve to be hidden, and the ability to turn on and off things like location even the phone itself. Also it would be nice if I could have access/control of any installed apps. All activity, contacts, web activity. Everything. She worries me, but if I can't find some type of monitoring service, I'm not buying a phone for someone if I don't have full access to it. Please any info on this subject would be greatly appreciated. Thanks in advance.

Jt

Stopwatch

promo.png

Stopwatch
is free and simple time clock, that will help you to measure the time of any situation, such as: cooking, home workout, meditation, sports, running, gym workout, work tasks, etc.
Chronometer have clean and simple interface is easy to operate with basic functions, start, stop, resume, pause.
Stopwatch will still run when the screen lock is on or app is minimized.
Start, stop, resume, pause the stopwatch in one tap, pressing the button at the bottom of the screen.
By pressing the "Lap" button, you can record the current timing.
Digital scale with accurate measurement up to milliseconds.

Notification of elapsed time in the notification bar, so you can see it, without opening the app.
You can also reset the timer from notification without opening the application.

Features:
✔ Simple, clean design, digital scale
✔ Start, stop, resume, pause button.
✔ Laps list, lap time
✔ Additional panel with seconds
✔ Infinite laps count
✔ Reset timer from notification without opening app
✔ One tap chronometer control
✔ Chronometer ideal for various activities as cooking, meditation, home workout, sports, running, gym workout, work tasks, etc.
✔ Stopwatch also measures hours
✔ Easy to read digital scale with large text.
✔ Accurate measurement

Google Play link


1.png 2.png 3.png 4.png 5.png

How to stop annoying advertisements?

Hello, this is my first post.

I've got a brand new Android smartphone which is Android 9. But it's really annoying because every time I connect to the internet a bunch of advertisements shows up. especially when I am watching a youtube video. There is an advertisement before the video and in the middle, it again pauses the video and showing an advertisement which can not be skipped until 5 seconds. It's really bothersome.

Anyone know any kind of method or app for stop this?

CDMA Phone Activation Multiple SIMs possible?

Can CDMA phones (such as for verizon) be activated, then SIM card transferred to another phone then activate the phone again with a different SIM from a different carrier or does the ESN for the physical phone get registered to the carrier and will only work with that carrier's SIM?

Basically, I want to activate a BYOD phone for Xfinity that they won't activate because they don't support it but I know the phone will work so I was going to buy a used Samsung S8, activate the SIM, transfer to the other phone then resell the S8.

Call Log symbols

I have searched various forums for explanations of the Stylo 3 call log arrows and found conflicting opinions and never a complete answer.
I would very much appreciate explanations of these arrows:

Arrow pointing left
Arrow pointing right
Arrow bending upward
Arrow bending downward
Red Arrow
Green Arrow

This information is not in the manual.

Apps Can't create handler inside thread that has not called Looper.prepare()

Stack trace:
Java:
08-01 19:19:43.254 5291-5291/com.example.app1 E/APP: RUNNING
08-01 19:19:43.254 5291-5291/com.example.app1 E/APP: onChanged
08-01 19:19:43.259 5291-5320/com.example.app1 E/WM-WorkerWrapper: Work [ id=495d1e86-0f1f-42a5-9997-3a3c01b878d3, tags={ *****, com.example.app1.UploadWorker } ] failed because it threw an exception/error
    java.util.concurrent.ExecutionException: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
        at androidx.work.impl.utils.futures.AbstractFuture.getDoneValue(AbstractFuture.java:516)
        at androidx.work.impl.utils.futures.AbstractFuture.get(AbstractFuture.java:475)
        at androidx.work.impl.WorkerWrapper$2.run(WorkerWrapper.java:284)
        at androidx.work.impl.utils.SerialExecutor$Task.run(SerialExecutor.java:75)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
        at java.lang.Thread.run(Thread.java:856)
     Caused by: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
        at android.os.Handler.<init>(Handler.java:121)
        at android.app.Activity.<init>(Activity.java:749)
        at androidx.core.app.ComponentActivity.<init>(ComponentActivity.java:39)
        at androidx.activity.ComponentActivity.<init>(ComponentActivity.java:84)
        at androidx.fragment.app.FragmentActivity.<init>(FragmentActivity.java:127)
        at androidx.appcompat.app.AppCompatActivity.<init>(AppCompatActivity.java:77)
        at com.example.app1.MainActivity.<init>(MainActivity.java:19)
        at com.example.app1.UploadWorker.doWork(UploadWorker.java:20)
        at androidx.work.Worker$1.run(Worker.java:85)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
        at java.lang.Thread.run(Thread.java:856)
UploadWorker.java:
Java:
package com.example.app1;

import android.content.Context;
import android.util.Log;

import androidx.annotation.NonNull;
import androidx.work.Data;
import androidx.work.Worker;
import androidx.work.WorkerParameters;

public class UploadWorker extends Worker {

    public UploadWorker(@NonNull Context context, @NonNull WorkerParameters workerParams) {
        super(context, workerParams);
    }

    @NonNull
    @Override
    public Result doWork() {
        String key = new MainActivity().KEY_NAME;
        Data ret = new Data.Builder().putLong(key, System.currentTimeMillis()).build();
        Log.e("APP", "doWork");
        return Result.success(ret);
    }
}
MainActivity.java:
Java:
package com.example.app1;

import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.LiveData;
import androidx.lifecycle.Observer;
import androidx.work.BackoffPolicy;
import androidx.work.Constraints;
import androidx.work.Data;
import androidx.work.OneTimeWorkRequest;
import androidx.work.WorkInfo;
import androidx.work.WorkManager;

import android.os.Bundle;
import android.util.Log;

import java.util.List;
import java.util.concurrent.TimeUnit;

public class MainActivity extends AppCompatActivity {

    public final String KEY_NAME = "string1";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Log.e("START", "Start");

        Constraints constraints = new Constraints.Builder().setRequiresCharging(true).build();
        Data data = new Data.Builder().putString(KEY_NAME, "Mike").build();
        OneTimeWorkRequest uploadWordRequest = new OneTimeWorkRequest.Builder(UploadWorker.class)
                .setConstraints(constraints)
                .setInitialDelay(10, TimeUnit.SECONDS)
                .setBackoffCriteria(BackoffPolicy.EXPONENTIAL, 5, TimeUnit.SECONDS)
                .setInputData(data)
                .addTag("tag")
                .build();
        WorkManager w = WorkManager.getInstance(getApplicationContext());
        w.enqueue(uploadWordRequest);
        LiveData<List<WorkInfo>> l = w.getWorkInfosByTagLiveData("tag");
        l.observe(this, new Observer<List<WorkInfo>>() {
            @Override
            public void onChanged(List<WorkInfo> workInfos) {
                if(workInfos.get(0).getState() == WorkInfo.State.RUNNING)
                    Log.e("APP", "RUNNING");
                Log.e("APP", "onChanged");
            }
        });
    }
}
I am writing on android 4.1.1 and it seems this error applies to my code, but I did not understand how to fix it. I will be glad to any help

What's app

Hi all I'm new to the forum and hope someone can help with quite a serious problem iv have. I'm pretty sure my grandson is being bullied via social media WhatsApp in particular, we've done all the usual things such as taking to him about it and contacting the school, they have been very good about it but we feel we need to try and do more, so what I want to know is, is there anyway that we can look at his WhatsApp messages without him knowing, just to find out what's going on, he is very protective of his phone so it's tricky to get it, in know this sounds a bit underhand but obviously we want to help him as much as possible, I've come across some programs that claim to give you access to phones, one of which was called ' spyzie' BUT I know nothing about these programs and wonder are they a scam? Do they work? I'm sorry for such long 1st post but I'm sure you can see I am a bit desperate.
Tia
Bill

Root failed, can't use some apps.

A Little White Ago, I tried to root my Galaxy S6 Edge (SM-G925F) using ODIN.

However, the root failed and I just kept using the phone as normal. I just realized that neither Netflix, Samsung Pay, or Samsung Health work with a rooted device. (Even though the root failed, I cannot use them)

Will a factory reset solve this, or is there something else I have to do to fix this?

Build number (idk if that's important):
NRD90M.G925FXXU6ERF5

Android version: 7.0

Thanks for any answers!


EDIT: When I rooted my phone using ODIN, the green PASS sign was there and I do not know what went wrong during the process.
I did not get root access, though.

When your battery capacity is not enough, would you like to change the phone or change the battery?

The current mobile phone batteries are basically non-detachable integrated design , we can not freely disassemble, when the battery has problems, can only take the phone to the store to find a professional repair or replacement, not convenient, and takes time and money.
So when your battery capacity is not enough, would you like to change the phone or change the battery?

Filter

Back
Top Bottom