Articles of intent

Android通知操作不会调用挂起的意图服务

我试图让我的通知有一个button,点击它应该打电话给我的服务,这是控制audio播放。 这是我的意图通知 Intent intent = new Intent(context, AudioStreamService.class); Random generator = new Random(); PendingIntent i = PendingIntent.getActivity(context, 579, intent,PendingIntent.FLAG_UPDATE_CURRENT); final NotificationCompat.Builder builder = new NotificationCompat.Builder(context) .setSmallIcon(R.drawable.ic_launcher) .setContentTitle(title) .setContentText(text) .setPriority(NotificationCompat.PRIORITY_DEFAULT) .setLargeIcon(picture) .setTicker(ticker) .setNumber(number) .setOngoing(true) .addAction( R.drawable.ic_action_stat_reply, res.getString(R.string.action_reply), i); notify(context, builder.build()); 这是我的服务开始 public int onStartCommand(Intent intent, int flags, int startId) { Log.e("APP ID", "APP ID – service […]

删除活动作为默认启动器

我将我的活动设置为默认启动程序来拦截主页button点击,如下所示: <activity android:name=".ExampleActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 当我的活动, ExampleActivity启动,如果我点击主键,我会得到提示select。 如果我select使这是我的默认设置,并select我的活动,我卡住在我的活动,如所期望的。 问题是,当我离开活动时,我尝试从默认启动器中删除我的活动,但是不成功。 我努力了: ComponentName componentName = new ComponentName( "com.example.exampleactivity", "com.example.exampleactivity.class"); pm.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, PackageManager.DONT_KILL_APP); 和: PackageManager pm = getActivity().getPackageManager(); ComponentName name = new ComponentName(this, "com.example.exampleactivity.class"); pm.setComponentEnabledSetting(name, PackageManager.COMPONENT_ENABLED_STATE_DISABLED, 0); 但我的家庭指定永远不会被删除。 有没有人有一个工作方式来解决上述问题? 我只想要主页button默认为特定的活动,而不是我的整个应用程序。 当我离开活动时,它应该被删除并恢复到默认状态。

Android多重通知单击发送相同的数据

在android中的通知采取同样的意图点击。 我在安装主题后发送通知。 考虑我在通知窗口中安装了4个主题和4个通知,但是当我点击每个通知时,它将启动特定的活动,但意图是每个意图都有相同的数据。 我的代码是这样的 @SuppressWarnings("deprecation") void sendInstalledNotification(String fileName, String packageName) { NotificationManager notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE); String name = ""; try { name += fileName.substring(fileName.lastIndexOf(".") + 1); } catch (Exception e) { Log.e("NewThemeChooser", "Invalid Package name"); e.printStackTrace(); } name += " Installed"; Notification notification = new Notification(R.drawable.ic_launcher_9, name , System.currentTimeMillis()); Intent intent = new Intent(mContext […]

Android,播放可以分类的数据

我已经实现了一个扩展了NotificationListenerService的类,它可以很好地处理发布的通知。 然后我想要接收statusBarNotification对象并播放它。 我会做以下几点: @Override public void onNotificationPosted(StatusBarNotification statusBarNotification) { Intent intent = new Intent(); intent.putExtra("STATUS_BAR_NOTIFICATION",statusBarNotification); intent.setAction("com.example.NotificationPosted"); sendBroadcast(intent); } 但是当我这样做时,我得到以下错误: 01-05 01:50:14.333 19574-19673/com.example W/NotificationListenerService[NotificationListener]﹕ Error running onNotificationPosted java.lang.RuntimeException: Not allowed to write file descriptors here at android.os.Parcel.nativeAppendFrom(Native Method) at android.os.Parcel.appendFrom(Parcel.java:431) at android.os.Bundle.writeToParcel(Bundle.java:1679) at android.os.Parcel.writeBundle(Parcel.java:636) at android.app.Notification.writeToParcel(Notification.java:962) at android.service.notification.StatusBarNotification.writeToParcel(StatusBarNotification.java:106) at android.os.Parcel.writeParcelable(Parcel.java:1285) at android.os.Parcel.writeValue(Parcel.java:1204) at android.os.Parcel.writeArrayMapInternal(Parcel.java:618) at android.os.Bundle.writeToParcel(Bundle.java:1692) […]

Android:通知中的PendingIntent不会触发onCreate(),如果将活动带回到屏幕上

猜想我有意图标志误解。我想要做的是,我有一个广播stream应用程序,其中有两个活动(PlayerApplication和SettingsScreen)。 我有一个在后台运行的Streaming Service.class,它也包含通知(您可以在通知覆盖菜单和PlayerApplication中停止/开始播放)。 如果用户点击通知,PlayerApplicationActivity应该回到屏幕上。 一切工作正常,期望的情况下:用户打开SettingsScreenActivity – >打开NotificationOverlayMenu – >点击通知 – > PendingIntent恢复到PlayerApplicationActivity 现在,PlayerApplicationScreen在那里,但我不能点击任何东西。 我看到,我的PlayerApplication的onCreate()没有被触发,如果我从通知恢复。 但是布局看起来很好(在onCreate()中也是夸大的) 我在Service.class中使用了下面的PendingIntent: PendingIntent contentIntent = PendingIntent.getActivity( this.getApplicationContext(), //Service.class 0, new Intent(this,PlayerApplicationActivity.class) .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP), 0); 所以实际上,PendingIntent应该把Activity(如果已经运行的话)带回顶端。 我是否使用错误的意图,或者我错过了一个观点? 编辑:我在Manifest.xml中宣布launchMode android:launchMode="singleTask"

为服务指定SEND(共享)意图filter

我想过滤和处理意图与android.intent.action.SEND行动中的一个我的Service 。 我在我的AndroidManifest.xml写下了以下内容: <service android:name=".app.ScreamerService" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.SEND"/> <category android:name="android.intent.category.DEFAULT"/> <data android:mimeType="*/*"/> </intent-filter> </service> 现在,问题是,例如,当试图从浏览器或联系人列表中分享一个网页时,我看不到我的应用程序在“共享通过”选项。 但是,如果我将意图filter移动到主<activity>标记(而不是<service> ),我的应用程序名称和图标确实出现在“share via”选项列表中。 我在这里做错了什么? 无法将SEND操作定向到服务?

Android:从片段调用活动

我在一个活动中使用片段。 我正在使用MediaRecorder进行录音。 我有两个部分的活动。 第一本身将列出logging文件的活动。 在右侧,当selectlogging新文件时,将调用AudioRecording Activity。 当select任何列出的文件时,我正在使用AudioPlayer播放录制的文件。 我在这里能够将活动转换为片段,但是当我按下停止它正在终止应用程序。 请任何人都可以回答。 我的audiorecorder工作正常,当我用它作为简单的活动。 任何解决scheme,如果我可以在该片段或类似的东西中调用该活动。 如果有人知道,请帮助我。

如何在android中以编程方式导入多个.vcf文件?

我在我的SD卡中有多个vcf文件。 我想将这些vcf文件导入到我的联系人中。 我正在使用下面的代码: File file = new File(storage_path); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(file), "text/x-vcard"); startActivity(intent); 通过使用上面的代码,我无法一次导入一个vcf文件。 我想一次导入多个vcf文件。 通过使用上面的代码,我也得到重复的联系人。 除了意图之外,还有其他有效的方式来导入联系人吗? 谢谢。

与所有活动共享NavigationView?

我们如何与所有的活动共享Drawer ? 在lister: onNavigationItemSelected的setNavigationItemSelectedListener我们可以得到id并导航到它。 我正在寻找的东西是这样的: private void initDrawerLayout() { drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); NavigationView navView = (NavigationView) findViewById(R.id.navigation_view); navView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(MenuItem menuItem) { Intent intent; int id = menuItem.getItemId(); switch(id) { case R.id.home: case R.id.drawer_home: // call activity instead of adding/replacing fragment return true; case R.id.drawer_gallery: // call activity instead of […]

第1部分持续的前端Android开始的服务,在睡眠模式也工作,也开始在手机重新启动

Status:—我同样接受Karakuri和Sharad Mhaske的回答 ,但是自从Sharad Mhaske 在 奖金开始 后回答之后 ,赏金应该归于他。 第二部分:第二部分持续性前端Android开始的UI服务,在睡眠模式也工作,也开始在手机重启 在stack overflow ,只能接受 一个答案 。 我看到两个答案都可以接受,但必须select一个(我随机select)。 观众被邀请上/下投票答案/问题, 以表示赞赏的努力! 。 我提高了Karakuri的回答,以弥补声誉。 Scenario:— 我想让用户点击开始/停止button,并从UI活动开始/停止服务。 我已经使用户界面,所以不关心这一点。 但只是button点击事件的逻辑。 不希望服务绑定到UI活动 。 如果活动closures,服务应该继续运行。 在任何情况下都要尽最大的努力 执着服务 。 将它赋予最大的权重,并将其作为ForGroundSerice运行,因为它具有更高的重要性层次结构。 (希望没关系?) 除非停止button被我的应用程序用户界面点击 , 不希望它被停止 (或者应该重新启动)即使android回收内存。 我和电话的用户都知道这一点。 服务是最重要的。 即使在睡觉。 细节=我的应用程序做一些操作,睡觉用户提供的时间(通常15分钟),唤醒并再次执行操作。 这永远不会结束) 如果我需要AlarmManager ,如何实现? 或者其他方式? 或者只是把操作放在一个无休止的while loop and sleep for 15 minuts ? 当服务启动时(通过点击开始button)。 它应该input一个条目,以便在手机重新启动时自动启动。 QUESTION:— Primary […]