在我的应用程序中,我试图将数据从我的MainActivity.class
发送到一个名为bgservice.class
的服务。这是我的以下代码:
MainActivity.class:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent serviceIntent = new Intent(bgservice.class.getName());
serviceIntent.putExtra("UserID", "123456");
this.startService(serviceIntent);
}
BGS服务。课程:
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
String userID = intent.getStringExtra("userID");
System.out.println(userID);
Toast.makeText(this,userID, Toast.LENGTH_LONG).show();
return START_STICKY;
}
但我没有在服务类中获取数据。以下是我得到的错误:
02-25 09:05:41.166:E/AndroidRuntime(2633):
JAVAlang.RuntimeException:无法启动活动
组件信息{com.microapple.googleplace/com.microapple.googleplace.main活动}:java。lang.IllegalArgumentException:Service Intent必须是明确的:Intent{act=com.microapple.googleplace.bgservice(有额外功能)}
AndroidManifest。xml:
...
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:enabled="true" android:name=".bgservice" />
</application>
....
这里:
Intent serviceIntent = new Intent(bgservice.class.getName());
传递字符串到Intent
构造函数,用于创建意图以启动服务。意图构造函数将字符串作为我们在AndreidManifest.xml
中添加的操作名称。
<service android:enabled="true" android:name=".bgservice">
<intent-filter >
<action android:name="com.microapple.googleplace.bgservice" />
</intent-filter>
</service>
现在使用com。微苹果。谷歌广场。bgservice
作为创建意图的操作名称:
Intent serviceIntent = new Intent("com.microapple.googleplace.bgservice");
serviceIntent.putExtra("UserID", "123456");
this.startService(serviceIntent);
或
使用Intent Constractor,它将上下文作为第一个参数,组件名称作为第二个参数:
Intent serviceIntent = new Intent(this,bgservice.class);
serviceIntent.putExtra("UserID", "123456");
this.startService(serviceIntent);
还可以使用相同的键,该键用于在当前使用UserID
键添加值的意图中添加数据,但尝试使用UserID
键获取值
Intent serviceIntent = new Intent(YourActivity.this, bgservice.class);
serviceIntent.putExtra("UserID", "123456");
this.startService(serviceIntent);
在你的服务中,
public int onStartCommand(Intent intent, int flags, int startId) {
String userID = intent.getStringExtra("UserID");
//do something
return START_STICKY;
}
这一定行得通。
问题内容: 我在通过Notification从服务向活动发送数据时遇到问题,我单击了一个活动被调用的通知,但是当我尝试通过捆绑包添加一些参数时,我无法获得所谓的intent中的参数,我经历了链接 如何将通知单击中的参数发送到活动? 但是仍然没有运气。 其他人也发生过同样的问题吗? 提前致谢。 问题答案: 您还必须修改清单文件。 这是有效的示例: 这些变量和方法是Service类的成员: 这是Mai
我想在片段的活动中使用一些文本视图(cityField,updatedField)。我知道在活动中使用它们会更容易,但问题是,由于要获取一些JSON数据,我不得不在Fragment上加入一些代码 我已经得到了活动代码的ID 现在我想在我的片段中使用它们 所以问题是 - 这可能吗?如果可能,如何? 我已经检查了这个网站上的一些答案 - 在Android中将数据从活动发送到片段 如何使用捆绑包将数据从
问题内容: 我想使用Android将数据发送到我的php页面。我该怎么做? 问题答案: 您可以使用AndroidHttpClient进行GET或POST请求: 创建一个AndroidHttpClient来执行您的请求。 创建一个HttpGet或HttpPost请求。 使用setEntity和setHeader]方法填充请求。 对您的请求使用客户端上的execute方法之一。
我需要将数据从片段发送到另一个活动 我在Homeactive下的LoadsFraank中使用此代码 在另一个活动(LoadActivity)中接收数据 但是意图没有附加条件 请看下面的截图
假设我在服务中有一个可用的字符串test=“value”,并希望将其发送到我正在运行的mainactivity。如何安全地发送数据?我在寻找一个最简单的例子,其他应用程序看不到数据。当我看意图时,它会说: 广播是任何应用程序都可以接收的消息。系统为系统事件提供各种广播,例如当系统启动或设备开始充电时。您可以将广播发送到 但是,我只想将其发送到我的应用程序,因为它包含私人数据。在我的服务中,我尝试了
我目前正在做一个项目,我需要帮助。 我想发送的名称,总数量和总价的一个产品的数量在我的添加到购物车活动。 @override public void onListClick(final ItemInfo item){ 上面应该有什么代码发送到购物车活动?? toast.maketext(mainactivity.this,“added To cart”,toast.length_short).sh