特定时间段后如何显示活动

哈桑·埃查法伊(Hassan Echafaii)

我有2个活动(FirstActivity和SecondAcitivity)FirstActivity内容EditText和Button我想在用户单击按钮时销毁firstActivity,并在EditText中输入时间后启动SecondActivity。

跨步者

我猜您还参加了一项主要活动或家庭活动?如果是这样,您可以执行以下操作以获得所需的结果:

在您的firstactivity onCreate()方法中:

Button mButton = (Button)findViewById(R.id.TestButton);
    final EditText mEditText = (EditText)findViewById(R.id.TestTextBox);
    mButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int time = Integer.parseInt(mEditText.getText().toString());
            Intent intent = new Intent(getApplicationContext(), MainActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            intent.putExtra("Time", time);
            startActivity(intent);
        }
    });

比在您的mainactivity的onCreate()方法中放置以下内容:

if (getIntent().getIntExtra("Time", 0) > 0) {
        int time = getIntent().getIntExtra("Time" , 0);
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent intent = new Intent(MainActivity.this, SecondActivity.class);
                startActivity(intent);
                finish();
            }
        }, time * 1000);
    }

编辑:(如果您没有MainActivity)

第一:在XML内注册接收者

<receiver android:name=".AlarmReceiver"/>

创建AlarmReceiver类

package (your package)

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class AlarmReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    Toast.makeText(context, "Alarm time reached", Toast.LENGTH_SHORT).show();
    Intent i = new Intent();
    i.setClassName("(your package name)", "(your package name.SecondActivity)");
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    context.startActivity(i);
    }
}

在您的FirstActivity的onCreate方法中:

Button mButton = (Button)findViewById(R.id.TestButton);
    final EditText mEditText = (EditText)findViewById(R.id.TestTextBox);
    mButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            int time = Integer.parseInt(mEditText.getText().toString());
            if(time > 0) {
                Intent myIntent = new Intent(getBaseContext(), AlarmReceiver.class);
                PendingIntent pendingIntent = PendingIntent.getBroadcast(getBaseContext(), 0, myIntent, 0);
                AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
                Calendar calendar = Calendar.getInstance();
                calendar.setTimeInMillis(System.currentTimeMillis());
                calendar.add(Calendar.SECOND, time);
                alarmManager.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(), pendingIntent);
                Toast.makeText(getApplicationContext(), "Starting Activity in: " + time + " seconds", Toast.LENGTH_SHORT).show();
                finish();
            }
        }
    });

希望这可以帮助你 ;)

PS:关于在活动之间传递图像,您可以尝试以下操作:首先在活动顶部声明位图:

private Intent myIntent;

将以下代码添加到FirstActivity中onCreate方法中

myIntent = new Intent(FirstActivity.this, AlarmReceiver.class);

并在下面添加以下bitmap = BitmapFactory.decodeFile(f.getAbsolutePath(), bitmapOptions);内容:

ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
myIntent.putExtra("SendImage", byteArray);

并在下面添加 Bitmap thumbnail = (BitmapFactory.decodeFile(picturePath));

ByteArrayOutputStream stream = new ByteArrayOutputStream();
thumbnail.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();
myIntent.putExtra("SendImage", byteArray);

然后在您的AlarmReceiver中

byte[] mByteArray = intent.getByteArrayExtra("SendImage")  //above Intent i = new Intent();
i.putExtra("Image", mByteArray); //above context.startActivity(i);

并在您的SecondActivity中

byte[] mByteArray= getIntent().getByteArrayExtra("Image");
if(mByteArray != null){
    Bitmap mBitmap = BitmapFactory.decodeByteArray(mByteArray, 0, mByteArray.length);
    mTestImage.setImageBitmap(mBitmap); //Your imageview
}

不要以为这是最好的解决方案,但是我已经对此进行了测试,并且效果很好;)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在特定时间段后禁用登录

来自分类Dev

如何显示没有按钮且在指定时间段后消失的消息框?

来自分类Dev

如何显示没有按钮且在指定时间段后消失的消息框?

来自分类Dev

在特定时间段后如何在Android中执行任务?

来自分类Dev

如何让机器人在特定时间段后删除消息

来自分类Dev

如何在特定时间段内运行CLLocationManager

来自分类Dev

如何安排tcpdump在特定时间段内运行?

来自分类Dev

如何使函数在特定时间段内运行?

来自分类Dev

在特定时间段内禁止用户在网站上进行任何活动:javascript

来自分类Dev

如何从html表(php)中的Mysql表显示特定时间段(天/周/月)中的数据

来自分类Dev

在用户在特定时间段后访问站点后创建弹出窗口

来自分类Dev

在特定时间段后中断未知的长期运行功能

来自分类Dev

在特定时间段后在线程上运行应用程序

来自分类Dev

在特定时间段后中断未知的长期运行功能

来自分类Dev

在特定时间段后在android中缓存json数据

来自分类Dev

R Shiny:显示特定时间段内的文本输出

来自分类Dev

在特定时间段内按 sql 在 group 中显示零

来自分类Dev

如何按特定时间段内的时间间隔分组?

来自分类Dev

如何在特定时间段内使用Python跟踪网页中的特定内容?

来自分类Dev

在指定时间段后在Firefox中删除Cookie

来自分类Dev

如果我处于一天中的特定时间段,如何检查python?

来自分类Dev

如何使用C#unity在特定时间段内转换精灵

来自分类Dev

如何使用CURL获取特定时间段的回购的git事件?

来自分类Dev

如何获取仅在特定时间段内购买商品的用户(MySQL数据库)

来自分类Dev

在Java中,如何仅选择或过滤在特定时间段之间创建的文件

来自分类Dev

如何在特定时间段内grep日志文件

来自分类Dev

如何设置仅在特定时间段运行的Akka演员?

来自分类Dev

如何在日志中的特定时间段内grep

来自分类Dev

如何获取特定时间段内android的浏览历史记录

Related 相关文章

  1. 1

    如何在特定时间段后禁用登录

  2. 2

    如何显示没有按钮且在指定时间段后消失的消息框?

  3. 3

    如何显示没有按钮且在指定时间段后消失的消息框?

  4. 4

    在特定时间段后如何在Android中执行任务?

  5. 5

    如何让机器人在特定时间段后删除消息

  6. 6

    如何在特定时间段内运行CLLocationManager

  7. 7

    如何安排tcpdump在特定时间段内运行?

  8. 8

    如何使函数在特定时间段内运行?

  9. 9

    在特定时间段内禁止用户在网站上进行任何活动:javascript

  10. 10

    如何从html表(php)中的Mysql表显示特定时间段(天/周/月)中的数据

  11. 11

    在用户在特定时间段后访问站点后创建弹出窗口

  12. 12

    在特定时间段后中断未知的长期运行功能

  13. 13

    在特定时间段后在线程上运行应用程序

  14. 14

    在特定时间段后中断未知的长期运行功能

  15. 15

    在特定时间段后在android中缓存json数据

  16. 16

    R Shiny:显示特定时间段内的文本输出

  17. 17

    在特定时间段内按 sql 在 group 中显示零

  18. 18

    如何按特定时间段内的时间间隔分组?

  19. 19

    如何在特定时间段内使用Python跟踪网页中的特定内容?

  20. 20

    在指定时间段后在Firefox中删除Cookie

  21. 21

    如果我处于一天中的特定时间段,如何检查python?

  22. 22

    如何使用C#unity在特定时间段内转换精灵

  23. 23

    如何使用CURL获取特定时间段的回购的git事件?

  24. 24

    如何获取仅在特定时间段内购买商品的用户(MySQL数据库)

  25. 25

    在Java中,如何仅选择或过滤在特定时间段之间创建的文件

  26. 26

    如何在特定时间段内grep日志文件

  27. 27

    如何设置仅在特定时间段运行的Akka演员?

  28. 28

    如何在日志中的特定时间段内grep

  29. 29

    如何获取特定时间段内android的浏览历史记录

热门标签

归档