我真的试图通过intent.putExtra()和getIntent().getExtras()并将它们应用到SimpleService教程之一.我知道很多人已经问过"为什么捆绑附加内容总是为空?" 我保证我试图通过我发现这里几个小时,我考虑在发布前的答案破解,但我不认为我不够先进,以真正了解它是什么,我必须做错误的未成年人片段张贴.因此,我输入了我的活动和服务的完整代码.
我认为我的问题是我的开始意图(我在我的活动中创建的那个)在我的服务环境中不存在.我想知道我是否完全在错误的方向/目的上使用Intents?我在我的服务中尝试了一个intent.putExtra,尝试向另一个方向发送一个字符串,但这些额外的东西也总是为空.所以冒着重复的风险,为什么捆绑附加内容总是为空?如何在我的活动和服务的上下文中创建一个单一的意图?
我应该注意下面显示的代码显然会有一个空的额外内容,因为我已经注释了一些失败的.getExtras()尝试.我为了清洁而删除了其余部分.
编辑:答案归功于回复,在代码中为了那些也被谷歌搜索了几个小时的人.把这个放在你的服务中(请注意返回START_REDELIVER_INTENT可能是错误的):
@Override
public int onStartCommand( Intent intent , int flags , int startId )
{
super.onStartCommand(intent, flags , startId);
extras = intent.getExtras();
//just checking
if( extras != null )
Toast.makeText(this,extras.getString("extratoservice"), Toast.LENGTH_SHORT).show();
return START_REDELIVER_INTENT;
}
Run Code Online (Sandbox Code Playgroud)
我的活动(基于Sai Geetha的博客):
package com.example.BroadcastIntent;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
public class BroadcastIntentActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button …
Run Code Online (Sandbox Code Playgroud) 基本上我希望能够在不到3g的时间内发送几秒延迟的"实时"馈送.如果质量很差,那就没关系.如果需要,我甚至可以使用4位灰度(尽管128-256种颜色更可取).如果有必要,我愿意以> 1fps的速度低至160x120.在这种最笨重的设置中完全未压缩意味着过度饱和的低带宽连接.
我应该简单地将快照视为图像吗?是否有人熟悉Bitmapfactory的功能,以获得最低质量的JPEG?
我应该查看PNG或GIF吗?我的理解是,固体领域最适合这些.我不确定我是否可以依赖固体场而不是天空的很大一部分,因为我希望控制一架发送回"视频"的无人机.具有几秒延迟的虚拟视频很好,甚至更好,因为我预计会丢失并重新获得服务器连接.
我在"3g"上获得128k的信号,但是我不能完全依赖它.我可以做任何必要的解码服务器端 - 这应该不是问题.
所以我问你,Stack,你想通过互联网从你的智能手机上看到,并且不能依赖于良好的连接.你怎么接近它?
我已经阅读了Stack Overflow上这个问题的不同版本,以及3个不同Google搜索教程的首页上的每个蓝色链接,以及MSDN(除了执行程序集之外还有一点浅薄) .我只能想到我努力让Tao作为一个好的测试用例,但是相信我,我尝试过一个简单的字符串返回,一个double,一个带参数的函数.无论我的问题是什么,都不是道.
基本上我想testLibraryDomain.CreateInstance()
在GLPlugin命名空间中创建一个Draw类.
if( usePlugin )
{
AppDomain testLibraryDomain = AppDomain.CreateDomain( "TestGLDomain2" );
//What the heck goes here so that I can simply call
//the default constructor and maybe a function or two?
AppDomain.Unload( testLibraryDomain );
}
Gl.glBegin( Gl.GL_TRIANGLES );
Run Code Online (Sandbox Code Playgroud)
我知道一个事实:
namespace GLPlugin
{
public class DrawingControl : MarshalByRefObject
{
public DrawingControl()
{
Gl.glColor3f( 1.0f , 0.0f , 0.0f );
//this is a test to make sure it passes
//to the GL Rendering context... success
}
} …
Run Code Online (Sandbox Code Playgroud)