Как переключаться между или запустить, программатически два приложения неоднократно на устройстве Android 12Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как переключаться между или запустить, программатически два приложения неоднократно на устройстве Android 12

Сообщение Anonymous »

Я пытаюсь создать код для «Min Android 8.1 API 27», который может неоднократно открывать два других приложения из фона в течение некоторого периода времени, но до сих пор я не смог заставить это работать. Ниже приведен мой код MainActivity {} и задачу ретранслятора. < /P>

Код: Выделить всё

import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;

import java.text.DecimalFormat;
import java.text.NumberFormat;

public class MainActivity extends AppCompatActivity {

public static Boolean  weather =false;
public static Boolean  kiosk =false;

private  Launcher launchObj = new Launcher();

private TextView textView;

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

// Initialize the TextView
textView = findViewById(R.id.textView);

//checkRunTimePermission();
//new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);

weather=true;
//launchWeather();
launchObj.makeRepeatTask();
}
}
< /code>
и ниже - еще один класс, в котором я пытался реализовать ретранслятор, который может запускать два приложения после некоторого периода времени.  < /p>
public class Launcher extends AppCompatActivity  {

public Launcher(){}

public void makeRepeatTask() {
Runnable task = () -> {
Timer timer = new Timer();
timer.schedule(new UpdateTimeTask(), 1, 10000);

};
}

class UpdateTimeTask extends TimerTask {

public void run()
{
if (MainActivity.weather){
//Toast.makeText(Launcher.this, "weather .......", Toast.LENGTH_SHORT).show();
System.out.println("-----On TICK------");

launchWeather();

}
if (MainActivity.kiosk) {
//Toast.makeText(Launcher.this, "kiosk .......", Toast.LENGTH_SHORT).show();

launchKiosk();
}
}

}

public void launchKiosk() {
new CountDownTimer(5000, 1000) {
@Override
public void onTick(long millisUntilFinished) {

NumberFormat f = new DecimalFormat("00");
long hour = (millisUntilFinished / 3600000) % 24;
long min = (millisUntilFinished / 60000) % 60;
long sec = (millisUntilFinished / 1000) % 60;
System.out.println(f.format(hour) + ":" + f.format(min) + ":" + f.format(sec));

}

@Override
public void onFinish() {

startNewActivity( Launcher.this, "com.fullykiosk.videokiosk");
MainActivity.kiosk=true;
MainActivity.weather=false;

}
}.start();
}

public void launchWeather() {
new CountDownTimer(5000, 1000) {
@Override
public void onTick(long millisUntilFinished) {

NumberFormat f = new DecimalFormat("00");
long hour = (millisUntilFinished / 3600000) % 24;
long min = (millisUntilFinished / 60000) % 60;
long sec = (millisUntilFinished / 1000) % 60;
System.out.println(f.format(hour) + ":" + f.format(min) + ":" + f.format(sec));

}

@Override
public void onFinish() {
startNewActivity( Launcher.this, "com.apalon.weatherlive.free");
MainActivity.weather=true;
MainActivity.kiosk=false;

}
}.start();
}

public void startNewActivity(Context context, String packageName) {
Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName);
if (intent == null) {

intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://details?id=" + packageName));
}
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
runOnUiThread(new Runnable() {
public void run() {
final Toast toast = Toast.makeText(Launcher.this, "App not Found", Toast.LENGTH_SHORT);
toast.show();
}
});
}
}
< /code>
I have declared queries in manifest for packages i want to open too.






< /code>
`Now , i must say that a package can be launched ok from MainActivity but when i want to launh/switch them repeatedly by makeRepeatTask() the code give me errors about NullPointerException context and looper.prepare relation errors.
Please , help is needed. Thank you.`

Подробнее здесь: https://stackoverflow.com/questions/796 ... android-12
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»