- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
intent(Service)中setAction()是做什么的
我不太明白 setAction () 的作用,我主要是在“服务到 Activity 数据传递”示例中找到它。字符串可以自由设置吗?它到底有什么作用?
When a broadcast intent is created, it must include an ACTION STRING in addition to optional data and a category string. As with standard intents, data is added to a broadcast intent using key-value pairs in conjunction with the putExtra() method of the intent object. The optional category string may be assigned to a broadcast intent via a call to the addCategory() method.
The action string, which identifies the broadcast event, must be unique and typically uses the application’s Java package name syntax. For example, the following code fragment creates and sends a broadcast intent including a unique action string and data:
Intent intent = new Intent();
intent.setAction("com.example.Broadcast");
intent.putExtra("HighScore", 1000); sendBroadcast(intent);
我见过的另一种变体是:
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("com.truiton.broadcast.string");
broadcastIntent.putExtra("Data", "Broadcast Data");
sendBroadcast(broadcastIntent);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
broadcastIntent.setAction("com.truiton.broadcast.integer");
broadcastIntent.putExtra("Data", 10);
sendBroadcast(broadcastIntent);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
broadcastIntent .setAction("com.truiton.broadcast.arraylist");
broadcastIntent.putExtra("Data", mList);
sendBroadcast(broadcastIntent);
这看起来更像是识别传入的数据类型。
它是指识别事件、传入的数据类型、操作 还是每个Intent 创建?可以放生吗?
最佳答案
使用 <action>
标签内 <activity>
在 Manifest.xml 文件中设置操作的标记与在 java 文件中使用 intent.setAction 以编程方式设置操作相同。
这些通常用于广播接收器。
下面是一个xml例子:
<receiver android:name="MyReceiver" >
<intent-filter>
<action android:name="com.example.SendBroadcast" >
</action>
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED" >
</action>
</intent-filter>
</receiver>
但是当您希望 BroadCastReceiver 以编程方式注册和取消注册时,可以使用 setAction()。
Intent intent = new Intent();
intent.setAction("com.example.SendBroadcast");
intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
sendBroadcast(intent);
有关更多信息,请查看:http://www.techotopia.com/index.php/Android_Broadcast_Intents_and_Broadcast_Receivers
关于android - setAction() 对 intent (Broadcast) 做了什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38260372/
我已成功创建 HTTP 基本身份验证客户端。 有一个特定的操作,我对其目的有些怀疑。 我尝试了一个简单的 helloworld 脚本的教程,互联网上还有一些其他教程,我看到了这个: options.s
我被这个问题困扰了 3 天,我做了很多研究,但找不到任何答案,这里是对正在发生的事情的简要解释,尝试使用 Firebase 数据库和使用 Unity3D 进行身份验证,这里是步骤: 第一个用户登录,如
我目前正在实现 Google Analytics 增强型电子商务。当我在我的开发环境中购买东西时,我会检查我的开发分析购物行为,我只看到所有 session 和带有事务的 session 中的值,但两
我只想添加一个带有 setAction 参数的 NSButton。 NSRect frame = NSMakeRect(10, 40, 90, 40); NSButton* pushButton =
当尝试打开 Activity 时,我的应用程序在某些设备中崩溃。该问题并不总是发生,仅在某些设备上发生。 @Override protected void onCreate(Bundle savedI
我的游戏中有一个类似于电源对象的对象:当我的玩家输入电源时,它应该激活一个指示电源已被获取的面板,并在 3 秒后该面板应该消失。目前,当我按下电源时,我的面板出现了,但它并没有消失。我正在使用这样的协
我在 Unity 中隐藏 UI 面板时遇到问题。当客户端连接到服务器时调用代码。 void OnPlayerConnected(NetworkPlayer player) { gameObj
我的理解是,您的应用中只能有 1 个 AVAudioSession(因为它是单例,因此您总是收到相同的实例)。 那么,setActive() 函数的作用是什么?因为我只能有一个 session ,所以
我有一个要为其设置操作的表格。我想使用在 bootstrap 中创建的路由在表单文件(扩展Zend_Form)中而不是在 Controller 或 View 中声明操作。 通常,当我想使用路线时,我会
setAction() 到底做了什么?我发现What does setAction () do for intent (Broadcast)但没理解清楚 public void increme
从 unity 项目中学习滚动一个球项目,当玩家与其发生碰撞时拾取器不会移除。它就像透明物体一样穿过它们内部,这是我的代码。 void onTriggerEnter(Collider other) {
TL/DR: 调用 window.setActive(false) 不会将窗口的 active 属性设置为 false。 完整详细信息: 我有以下继承自 Ext.window.Window 的 Ext
我正尝试在 Android 6.0 或更高版本上将我的应用列入白名单。我已经看到 Android 代码可以执行此操作,但它不会在 Xamarin 中进行翻译,Xamarin 文档仅告诉您 SetAct
以下代码呈现一个没有文本的 JButton: public abstract class Test { public static void main(String... args) {
我正在以编程方式制作几个按钮并尝试为每个按钮设置一个 Action ,但我似乎无法让它工作。 在我的 AppController.h 中我有这段代码: ... IBOutlet NSButton* b
调用 MyAlreadyActiveGameObject.SetActive(true) 是否有任何性能问题?一吨,例如每帧一次? 换句话说,是否值得拉 gameObject.active向上检查?或
我想尝试创建一个简单的 cocoa 应用程序。这是一个简单的 reddit 收件箱通知程序。我引入了一堆 URL,并希望为每个 URL 制作带有页面链接的菜单项。我想动态地设置每个 Action 。我
我正在以编程方式在继承 NSObject 的界面内添加工具栏,并实现这些方法: - (NSToolbarItem*)toolbar:(NSToolbar*)toolbar itemForItemId
我使用以下代码以编程方式创建了 NSPopUpButton [myPopUpButton insertItemWithTitle:@"--Select one--" atIndex:0]; [myPo
在我的 iOS 应用程序中,我首先启动 iPod 中的歌曲,然后启动我的应用程序。我在我的应用程序中按下一个按钮,然后调用 AVAudioSession * audioSession = [AVAud
我是一名优秀的程序员,十分优秀!