Как программировать два приложения неоднократно на AndroidAndroid

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

Сообщение 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 ... on-android
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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