小编AKi*_*y50的帖子

安装Sheild LE -4340内部构建错误Visual Studio 2012

我在使用Visual Studio中的Install Shield LE构建MSI时遇到问题.错误显示"-4340:内部构建错误",但Flexera的链接毫无价值.我在另一篇文章中尝试了建议,将安装程序项目添加到一个新的解决方案,然后我的.Net项目,但这没有帮助.这个建议可以在这里找到.

我没有找到问题的唯一可重复原因,因为任何一件事似乎都没有发生.我正在尝试为Windows服务构建安装程序.

c# installshield visual-studio-2012

15
推荐指数
2
解决办法
5824
查看次数

BroadcastReceiver 上下文注册不起作用

我正在开发一个项目,我需要注册 BroadcastReceiver 并从通知操作向其发送广播。如果我做错了什么明显的事情,请告诉我。我不希望接收器在清单中注册,因为我希望拥有访问多个局部变量的自定义 onRecieve 方法。

完整代码可在此处获取: https: //github.com/akirby/notificationTest

编辑: 根据Android文档(https://developer.android.com/guide/components/broadcasts.html),这是可能的,但我无法理解为什么这不起作用。

BroadcastReciever 局部变量

public BroadcastReceiver approveReceiver = new BroadcastReceiver(){
    @Override
    public void onReceive(Context context, Intent intent){
        notificationManager.cancel(notificationId);
        String data = intent.getAction();
        Toast.makeText(getApplicationContext(), data, Toast.LENGTH_LONG);
        if(data != null && data.equals("com.myapp.Approve")){
            mainText.setText("Approved");
        }
        else{
            mainText.setText("Denied");
        }
    }
};
Run Code Online (Sandbox Code Playgroud)

登记:

registerReceiver(approveReceiver, new IntentFilter("com.myapp.Approve"));
Run Code Online (Sandbox Code Playgroud)

通知:

public void showNotification(){

    Context appContext = getApplicationContext();
    Intent approveIntent = new Intent(appContext, ApprovalReceiver.class);
    approveIntent.setData(Uri.parse("Approve"));
    approveIntent.setAction("com.myapp.Approve");
    PendingIntent pendingIntent = PendingIntent.getBroadcast(appContext, 0, approveIntent, PendingIntent.FLAG_CANCEL_CURRENT);

    Intent denyIntent = new Intent(appContext, ApprovalReceiver.class); …
Run Code Online (Sandbox Code Playgroud)

android broadcastreceiver android-notifications notification-action

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