标签: extras

有没有办法告诉IntelliJ IDEA哪个输出文件夹用于GWT编译器?

有没有办法告诉IntelliJ IDEA哪个输出文件夹用于GWT编译器?我知道它会将工件复制到项目文件夹,但它不会复制我使用gwt编译器的"-extra"命令行参数设置的额外内容.

IntelliJ IDEA将其保留在USER_HOME/.IntelliJIdea10/system/gwt/project_name_with_hash/module_name_with_hash/compile/www中

更新:奇怪的是我没有在IntelliJ的网站上找到可能的路径宏列表.但是我在 idea.jar中发现了它们.可能的宏是:

APPLICATION_HOME_DIR
PROJECT_DIR
MODULE_DIR
USER_HOME
Run Code Online (Sandbox Code Playgroud)

compiler-construction macros gwt intellij-idea extras

6
推荐指数
1
解决办法
3356
查看次数

org.apache.log4j.RollingFileAppender和org.apache.log4j.rolling.RollingFileAppender之间的差异

有人能说出这件事之间有什么不同吗?而且,我无法理解,如果DailyRollingFileAppender存在,为什么需要使用TimeBasedRollingPolicy?

log4j rollingfileappender extras

6
推荐指数
1
解决办法
6886
查看次数

单元测试中的 Intent extras Android Mockito

我正在尝试验证是否将特定的附加功能添加到了 Intent,但是我一直在单元测试 Android 中为 Intent 获取空值。我有以下课程需要测试:

public class TestClass extends SomeNotifier {
        private Intent mIntent = new Intent("testintent");

        public TestClassConstructor(Context context) {
            super(context);
        }

        @Override
        public void notifyChange() {
            mIntent.putExtra("Key one", 22);
            mIntent.putExtra("Key two", 23);
            mIntent.putExtra("Key three", 24);
            getContext().sendBroadcast(mIntent);
        }
    }
Run Code Online (Sandbox Code Playgroud)

测试如下(我也尝试过使用 mockIntent,但结果是一样的,额外的还是空的):

@RunWith(MockitoJUnitRunner.class)
public class TestClassTest {

  @Mock
  Context mMockContext;

  @Test
  public void sendBroadcastTest() {

  ArgumentCaptor<Intent> argument = ArgumentCaptor.forClass(Intent.class);

  TestClass testClassNotifier = new TestClass (mMockContext);
  testClassNotifier.notifyChange();
  verify(mMockContext).sendBroadcast(argument.capture());


 Intent intent = argument.getValue();
 //THE INTENT IS NULL
 Assert.assertTrue(intent.hasExtra("Key one"));

    }
} …
Run Code Online (Sandbox Code Playgroud)

android unit-testing mockito extras android-intent

6
推荐指数
2
解决办法
5828
查看次数

如何根据他的额外数据过滤意图?

我得到了一些定义了意图过滤器的活动,如下所示:

<intent-filter>
                <action android:name="android.intent.action.SEND" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="image/*" />
                <data android:mimeType="video/*" />
                <data android:mimeType="audio/*" />
                <data android:mimeType="*/*" />
            </intent-filter>
Run Code Online (Sandbox Code Playgroud)

但是我希望我的活动只有当意图包含i.putExtra("asd","asd")时才会显示在列表中; 那么是否可以根据意图中的额外内容进行过滤?

android intentfilter extras android-intent

5
推荐指数
0
解决办法
822
查看次数

Android:我的部分内容在未决意图中迷失了

我是第一次制作Android应用程序,我遇到了这个问题.当用户A向另一个用户B发送好友请求时,用户B获得通知.我希望当用户B点击通知时重定向到用户A配置文件.

主要活动(应用程序中的主页)根据用户来自何处打开不同的片段.用户简档就是这样一个片段.

这就是我从主活动的演示者类发送通知的方式.

Intent notificationIntent = new Intent(activity.getApplicationContext(), MainActivity.class);
notificationIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);

Bundle extras = new Bundle();
extras.putString("name" ,this.friendRequestFromUserName.toString());
extras.putString("email", this.friendRequestFromUserEmail);
extras.putString("notification", "notificationFriendRequest");

notificationIntent.putExtras(extras);

System.out.println("PUTTING EXTRA");
System.out.println(notificationIntent.getExtras().toString());
// output here is:
//Bundle[{name=The Lion King, email=mufasa@lionking.com, notification=notificationFriendRequest}]

NotificationCompat.Builder builder = new NotificationCompat.Builder(activity)
    .setSmallIcon(R.drawable.ic_notification)
    .setContentTitle("New friend!")
    .setContentText(this.friendRequestFromUserName + " wants to be friends.")
    .setAutoCancel(true)
    .setOnlyAlertOnce(true)
    .setOngoing(false)
    .setContentIntent(PendingIntent.getActivity(activity.getApplicationContext(), 0, notificationIntent, 0));

builder.setOngoing(false);
builder.setAutoCancel(true);

Notification not = builder.build();
not.flags = Notification.FLAG_AUTO_CANCEL;
NotificationManager manager = (NotificationManager)this.activity.getApplicationContext().getSystemService(Context.NOTIFICATION_SERVICE);
        manager.notify(123, not);
Run Code Online (Sandbox Code Playgroud)

但是在主要活动中,当用户点击通知时,只有部分Bundle是"到达".以下是我尝试获取额外内容的方法:

    extraName = intent.getStringExtra("name");
    extraMail = intent.getStringExtra("email");
    extra = …
Run Code Online (Sandbox Code Playgroud)

android extras android-intent android-fragments android-pendingintent

5
推荐指数
1
解决办法
1822
查看次数

Android:如果活动已在运行,如何捕获Intent的Extras?

我在状态栏中添加了一个通知,其中包含指向我的主应用程序(主要活动)的PendingIntent(带额外信息).当用户点击staus栏时,会激活PendingIntent并启动我的应用程序,我可以在onCreate()方法中读取Extras信息.到现在为止还挺好.

但是如果我的应用程序已经在运行,PendingIntent只会导致应用程序到达前台并且它不会调用我的任何方法,因此我无法读取Extras中的内容.我能做什么?

谢谢!

java android extras android-intent

4
推荐指数
1
解决办法
6136
查看次数

Bundle extras上的java.lang.NullPointerException = data.getExtras();

我正在尝试捕获图像并将其保存在图库中.为此在onCreate我的代码

    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
    File photo = new File(Environment.getExternalStorageDirectory(), "Pic.jpg");
    imageUri = Uri.fromFile(photo);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
    startActivityForResult(intent, TAKE_PICTURE);
Run Code Online (Sandbox Code Playgroud)

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK && requestCode == TAKE_PICTURE) {
        Log.v("data", "data: " + data);
        Bundle extras = data.getExtras();
        if (extras.containsKey("data")) {
            bitmap = (Bitmap) extras.get("data");
            // ByteArrayOutputStream baos = new ByteArrayOutputStream();
            // bmp.compress(Bitmap.CompressFormat.PNG, 100, baos);
            // byte[] image = baos.toByteArray();
            if (bitmap != null) {
                // BitmapFactory.Options …
Run Code Online (Sandbox Code Playgroud)

android bundle nullpointerexception extras android-intent

4
推荐指数
1
解决办法
5220
查看次数

Android:将额外内容更改为意图

我有一个应用程序介于许多不同的活动之间.一项活动,我的主要活动,其行为取决于应用程序中的哪个活动启动了主要活动.我想我可以通过让其他所有活动将一个名为"launcehdFrom"的额外活动放入intent中来记录这一点,其中包含一个名为hte activity的字符串,该字符串称为主要活动.我遇到的问题是,一旦设置了该值,它就不能被另一个活动覆盖.我没有找到一个很好的直接方法来做到这一点.任何建议?

从我的主要活动中的onResume()调用以下代码:

    private void processIntentRequest(){
    Intent intent = getIntent();
    ProcessIntentRequestType caller = (ProcessIntentRequestType)intent.getSerializableExtra("launchedFrom");
    switch(caller){
        case startUpActivity:
            load(this.myObj);
            break;

        case otherActivity:
            int uri = integer.parseInt(this.getIntent().getExtras().getString("uri"));          
            load(this.myObj, uri);
            break;

        default:
            load(this.myObj, 1);
    }
Run Code Online (Sandbox Code Playgroud)

这是第一次启动主要活动的代码:

public void launchMainActivity(Obj myObj){
    Intent launchMain = new Intent(this, mainActivity.class);
    login.putExtra("launchedFrom", ProcessIntentRequestType.startupActivity);
    startActivity(launchMain);
}
Run Code Online (Sandbox Code Playgroud)

这是在启动活动至少加载一次后从其他一些活动启动主活动的代码:

protected void launchMainActivity(Obj myObj, HelperObj helper) {
    String uri = helper.uri;
    Intent mainActivity = new Intent(this, MainActivity.class);
    mainActivity.putExtra("uri", uri);
    mainActivityputExtra("launchedFrom", ProcessIntentRequestType.otherActivity);
    startActivity(mainActivity.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)
                    .addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT));
    finish();
}
Run Code Online (Sandbox Code Playgroud)

android extras android-intent android-activity

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

服务不会收到意图/额外费用

我不知道这里有什么问题.

Activity.java:

...
Intent intent = new Intent(Activity.this, Service.class);
intent.putExtra(Service.KEY_TEST, "123456789");
startService(intent);
...
Run Code Online (Sandbox Code Playgroud)

Service.java:

...
private Intent intent;
public static final String KEY_TEST;

@Override
public void onCreate() {
    super.onCreate();
    Log.d("TEST", intent.getStringExtra(KEY_TEST)); // when I remove this line,
    // it works, otherwise gives NullPointerException and FC's
}

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    this.intent = intent;
    return START_STICKY;
}
...
Run Code Online (Sandbox Code Playgroud)

该服务显然没有收到活动发送的额外内容.当我尝试获取之前发送的任何额外内容时,app force关闭,LogCat给出NullPointerException.当我删除我尝试获取额外内容的行时,应用程序不会强行关闭,但我显然也没有收到附加内容.

service android extras android-intent

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

您可以在替换时为片段添加额外内容吗?

我目前有一个应用程序Intents在开始活动之前严重依赖并给予他们额外的东西.在调用webservice时使用附加功能,而webservice又提供需要显示的内容

我正在尝试将该模型转换Fragment为我在屏幕底部有静态(我们称之为播放器)的模型,而另一个模型Fragment(将其称为内容)将在其上方显示主要内容.通过在主屏幕上选择选项,将通过替换内容来显示其他内容Fragment.

但是,这些新产品Fragments目前Intents依赖于额外产品.有没有办法替换一个Fragment新的,但仍然能够添加额外的东西?

如果是这样,假设我有以下代码:

FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
        ft.replace(R.id.fragment_holder, new MusicAlbumList(), "albumlist");
        ft.commit();
Run Code Online (Sandbox Code Playgroud)

如何将附加内容添加到MusicAlbumList?

如果那是不可能的,在由于缺少基本数据而强制关闭之前,我如何将当前通过额外内容传递的数据导入我的新片段?

android extras android-intent android-fragments

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