标签: android-intent

如何将ArrayList <CustomeObject>从一个活动传递到另一个活动?

我想将以下ArrayList从一个活动发送到另一个活动请帮忙.

ContactBean m_objUserDetails = new ContactBean();
ArrayList<ContactBean> ContactLis = new ArrayList<ContactBean>(); 
Run Code Online (Sandbox Code Playgroud)

我在如下添加数据后发送上面的arraylist

  Intent i = new Intent(this,DisplayContact.class);
  i.putExtra("Contact_list", ContactLis);
  startActivity(i);
Run Code Online (Sandbox Code Playgroud)

但是我在恢复时遇到了问题.

ArrayList<ContactBean> l1 = new ArrayList<ContactBean>();
Bundle wrapedReceivedList = getIntent().getExtras();
l1= wrapedReceivedList.getCharSequenceArrayList("Contact_list");
Run Code Online (Sandbox Code Playgroud)

此时我收到此错误:

Type mismatch: cannot convert from ArrayList<CharSequence> to ArrayList<ContactBean>
Run Code Online (Sandbox Code Playgroud)

我的ContactBean类实现了Serializable,也请告诉我们为什么要实现可序列化的接口.

android bundle serializable android-intent

48
推荐指数
4
解决办法
11万
查看次数

Android中的动态启动活动?

有没有办法根据条件动态更改Android中的启动活动?我试图做的(不起作用)如下:

  1. 删除我的AndroidManifest.xml中定义的LAUNCHER类别
  2. 创建应用程序使用的自定义应用程序类
  3. 覆盖我的Application类的onCreate方法来定义一些代码,如下所示:

.

if (condition) {
    startActivity(new Intent(this, MenuActivity.class));
} else {
    startActivity(new Intent(this, LoginActivity.class));
}
Run Code Online (Sandbox Code Playgroud)

android launcher android-intent android-activity

47
推荐指数
2
解决办法
1万
查看次数

使用广播意图/广播接收器将消息从服​​务发送到活动

所以我理解(我认为)关于广播意图和接收消息给他们.

所以现在,我的问题/我无法解决的问题是如何从onReceive接收器的方法向活动发送消息.让我们说我有一个接收器:

public class ReceiveMessages extends BroadcastReceiver 
{
@Override
   public void onReceive(Context context, Intent intent) 
   {    
       String action = intent.getAction();
       if(action.equalsIgnoreCase(TheService.DOWNLOADED)){    
           // send message to activity
       }
   }
}
Run Code Online (Sandbox Code Playgroud)

我如何向活动发送消息?

我是否必须在我想要发送消息的活动中实例化接收器并以某种方式监视它?或者是什么?我理解这个概念,但不是真正的应用程序.

任何帮助都会非常棒,谢谢.

汤姆

android broadcastreceiver android-intent

47
推荐指数
4
解决办法
9万
查看次数

如何通过多个活动返回结果

在我的应用程序的某些部分,有一个这样的活动结构:

在此输入图像描述

Activity A是我的家庭活动,我在每个流程或流程后回来.
Activity B是一个简单的确认活动.
Activity C是另一项确认活动.
Activity D做一些过程,最后它将结果返回到我的家庭活动(Activity A).

要求:

Activity B并且C:

  • 必须在那里,不能合并在一起.
  • 当它点击取消按钮时,它会调用finish()并且什么都不做.
  • 当单击OK按钮时,它跟随流和当前活动调用 finish()

题:

我正在考虑使用startActivityForResult()但我从来没有用过它来通过多个活动传递结果.
我还想通过一个handler(创建Activity A)调用一些方法Activity A并执行Activity D...

我怎么能实现它?

android handler android-intent android-activity

47
推荐指数
2
解决办法
1万
查看次数

单击Android通知操作不会关闭通知抽屉

我正在使用NotificationCompat库向系统栏添加通知.此通知有两个操作按钮.此外,AutoCancel()Notification上的属性设置为true.

单击操作按钮,系统配置为启动IntentService调用NotificationManager.cancel(NOTIFICATION_ID),然后在新任务中启动活动.
问题是虽然此调用会从托盘中删除通知,但它不会折叠抽屉.被叫活动在抽屉后面绘制.

除了取消通知之外,有人可以详细说明关闭抽奖需要什么特殊代码吗?

谢谢.

android android-intent android-notifications

47
推荐指数
3
解决办法
1万
查看次数

使用新的Google相册应用选择照片已损坏

我的应用程序可以从库中选择照片.我想要从这个选择中获取文件路径.

这是创建选择照片的意图的代码:

    Intent photoPickerIntent = new Intent(Intent.ACTION_PICK,
        MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
    photoPickerIntent.setType("image/*");
    startActivityForResult(photoPickerIntent, INTENT_REQUEST_CODE_SELECT_PHOTO);
Run Code Online (Sandbox Code Playgroud)

这是从URI获取文件路径的代码:

    Cursor cursor = null;
    String path = null;
    try {
        String[] projection = { MediaStore.Images.Media.DATA };
        cursor = context.getContentResolver().query(contentUri, projection, null, null, null);
        int columnIndex = cursor.getColumnIndexOrThrow(projection[0]);
        cursor.moveToFirst();
        path = cursor.getString(columnIndex);
    } finally {
        if (cursor != null) {
            cursor.close();
        }
    }
    return path;
Run Code Online (Sandbox Code Playgroud)

在昨天更新Google相册应用之前,一切都运转良好.path解析URI后现在为null.

URI类似于: content://com.google.android.apps.photos.contentprovider/0/1/content%3A%2F%2Fmedia%2Fexternal%2Fimages%2Fmedia%2F75209/ACTUAL

我还试图用Intent.ACTION_GET_CONTENT动作创建意图 - 没有运气.

android android-intent android-gallery google-photos

47
推荐指数
2
解决办法
2万
查看次数

TaskStackBuilder过渡动画

我正在使用Android L过渡ActivityOptions在意图中传递一个包.如何以相同的意图重现动画TaskStackBuilder

这是我目前的单一工作方法Intent:

startActivity(myIntent, ActivityOptions.makeSceneTransitionAnimation(this).toBundle());
Run Code Online (Sandbox Code Playgroud)

这是我的尝试TaskStackBuilder:

 TaskStackBuilder builder = TaskStackBuilder.create(this);
 builder.addNextIntentWithParentStack(myIntent);
 builder.startActivities(ActivityOptions.makeSceneTransitionAnimation(this).toBundle());
Run Code Online (Sandbox Code Playgroud)

但动画创造了一种奇怪的效果,而不是"单一意图"版本.

我也尝试过:

builder.addNextIntent(myIntent);
Run Code Online (Sandbox Code Playgroud)

代替:

builder.addNextIntentWithParentStack(myIntent);
Run Code Online (Sandbox Code Playgroud)

animation android android-intent taskstackbuilder

47
推荐指数
1
解决办法
1001
查看次数

Activity.getIntent()是否可以返回null?

Activity.getIntent()回来null吗?

该文件没有提到这种可能性,所以我想知道如果我要检查的结果getIntent()null解引用前值.

java android android-intent

47
推荐指数
2
解决办法
1万
查看次数

从下到上显示活动

我希望activity使用从下到上的动画显示一个到另一个Intent.

给我一些例子如下

Intent i2 = new Intent(main.this, test.class);
startActivity(i2);
Run Code Online (Sandbox Code Playgroud)

动画从下到上.

animation android android-intent android-activity

46
推荐指数
2
解决办法
5万
查看次数

通过针对android中特定位置的意图打开谷歌地图

我正在设计一个应用程序,我想在地图上显示特定的位置.我正在传递String已经放置的地址Google Map.以下是我的Intent代码..

String url = "http://maps.google.com/maps?daddr="+address;
Intent intent = new Intent(android.content.Intent.ACTION_VIEW,  Uri.parse(url));
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

但它给了我谷歌地图获取方向.我知道为什么会这样,因为我用过daddr,url但我不知道具体位置使用什么..请告诉我在那里使用什么..

android google-maps android-intent

46
推荐指数
6
解决办法
8万
查看次数